当调用构造函数创建一个新的实例后,该实例的内部讲包含一个指针(内部属性),指向构造函数的原型属
性。
“指向构造函数的原型属性”不正确,应为“指向构造函数的原型属性所指向的原型对象”
参见下面的例子:
function Person(){
}
Person.prototype.name = “Nicholas”;
var person1 = new Person();
alert(person1.name);// Nicholas
Person.prototype=new Object();//将Person的prototype指向另一个对象
var person2 = new Person();
alert(person1.name);// Nicholas
alert(person2.name);// undefined
alert(person1.__proto__===person2.__proto__);//false
当构造函数Person的prototype指针改变后,若person1对象的__proto__指针指向的是Person的prototype
属性名时,那么person1.name将随之改变,但是这与实际事实不符,person1.name仍然保持原值。
注意到原文:
Each time the constructor is called to create a new instance, that instance has an internal
pointer to the constructor ’s prototype.
作者此处用的是prototype而不是prototype property
性。
“指向构造函数的原型属性”不正确,应为“指向构造函数的原型属性所指向的原型对象”
参见下面的例子:
function Person(){
}
Person.prototype.name = “Nicholas”;
var person1 = new Person();
alert(person1.name);// Nicholas
Person.prototype=new Object();//将Person的prototype指向另一个对象
var person2 = new Person();
alert(person1.name);// Nicholas
alert(person2.name);// undefined
alert(person1.__proto__===person2.__proto__);//false
当构造函数Person的prototype指针改变后,若person1对象的__proto__指针指向的是Person的prototype
属性名时,那么person1.name将随之改变,但是这与实际事实不符,person1.name仍然保持原值。
注意到原文:
Each time the constructor is called to create a new instance, that instance has an internal
pointer to the constructor ’s prototype.
作者此处用的是prototype而不是prototype property