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

javascript 原型问题

javascript 原型问题

芜湖不芜 2018-12-22 02:34:50
 function Animal(){    this.species = "动物";  }  function Cat(name,color){    this.name = name;    this.color = color;  } Cat.prototype = new Animal();  Cat.prototype.constructor = Cat; //Cat的原型指向了 Animal生成的对象,此时Cat 和Animal不是引用了同一个原型吗 ,将Cat的构造器覆盖了 不也会同时覆盖 Animal的构造器吗? 所以下面这句为什么不是false而是true alert(Animal.prototype.constructor == Animal); // true
查看完整描述

1 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

Cat.prototype = new Animal(); 这一步 将Cat.prototype修改为Animal 的实例

此时的 Cat.prototype.constructor 的确是等于 Animal

但是 Cat.prototype 里面并没有 constructor 属性,Cat.prototype.constructor === Animal()只是因为在自身找不到 constructor 属性,所以找到了 Animal.prototype ;

Cat.prototype.constructor = Cat; 这一步 为Cat.prototype 新增了 constructor 熟悉,但并不影响 Animal.prototype.constructor


查看完整回答
反对 回复 2018-12-22
  • 1 回答
  • 0 关注
  • 464 浏览
慕课专栏
更多

添加回答

举报

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