function Person(){}Person.prototype ={name: "Nicholas",age:29,job: "software engineer",sayName : function(){ alert(this.name);}};var friend = new Person();我们将Person.prototype设置为等于一个以对象字面量形式创建的新对象。最终结果相同,但有一个例外:constructor属性不再指向Person了。前面曾经介绍过,每创建一个函数,就会同时创建他的prototype对象,这个对象也会自动获得constructor属性,而我们这里使用的语法,而我们在这里使用的语法,本质上完全重写了默认的 prototype 对象,因此 constructor 属性也就变成了新对象的 constructor 属性(指向 Object 构造函数),不再指向 Person 函数。此时,尽管 instanceof操作符还能返回正确的结果,但通过 constructor 已经无法确定对象的类型了。这是书中的一段话,可以说完全没看懂,这个constructor到底指向啥,一开始,constructor指向Person,后来为什么又指向Object了呢。。
添加回答
举报
0/150
提交
取消