为了账号安全,请及时绑定邮箱和手机立即绑定

js高级程序设计中关于创建对象的一点问题

js高级程序设计中关于创建对象的一点问题

小唯快跑啊 2018-12-19 17:14:18
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了呢。。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 401 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信