1. 对象字面量的写法:不用写var了,然后有多个的话是用,隔开。
2. 在构造函数中定义的实例属性是每个对象特有的,他们之间是不会相互影响的。而在原型中定义的则是实例化对象所共有的。会相互影响。
3. 在实例中添加了和原型中相同名称的属性,肯定会屏蔽原型中的,通过delete改属性,就可以解除屏蔽。
4. hasOwnProperty()和in操作符一起用就可以判断属性是在原型里面还是在实例对象里面
5. 重写了原型对象之后constructor已经不是指向构造函数了。但是instanceof操作符还是可以返回正确的结果。如果直接在对象字面量中加入这个constructor属性的话,他是可以枚举的。原生的是不可以枚举的。所以要用Object.defineProperty(Person.prototype , 'contructor',{enumerable: false; value: Person});
6. 对象的字面量形式不能做为构造函数。必须得是一个函数才可以。
7.p174页的原型的动态性这一个地方如果把sayHi放到添加函数之前还是会报错。就是说实例化可以在原型添加属性之前,这样是没问题的,但是用那个属性还是得等到添加完了之后。
8. 如果在new了一个实例化对象之后把原型给重写了那么就会出问题。new出来的那个对象的[[perototype]]还是指向的原来的原型。如果是在重写了原型对象之后new的一个对象的话就是正常的。以为此时构造函数的prototype属性已经指向的是新的原型了。
9. 采用instance来看原型和实例的关系。只要出现在原型链中的构造函数都会是true, 用isPrototypeOf也是一样的。