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

继承的写法

lightHalf.prototype=light.prototype;为什么这么写不行

正在回答

2 回答

  1. LightEntire.prototype = Object.create(Light.prototype);
    LightEntire.prototype.constructor = LightEntire
  2. Object.create()创建一个空对象,这个空对象的原型指向Light.prototype,将LightHalf的prototype=这个空对象的原型,实现一个继承关系,这里的construstor指向Light,可以修改成自身LightHalf

  3. ,如果直接LightHalf.prototype=Light.prototype,在修改LightHalf时就会影响到Light,因为他们指向同一个对象

1 回复 有任何疑惑可以回复我~

如果用你说的这种写法,更改lightHalf.prototype中的那些属性的时候,light.prototype中的属性也会被改变。

0 回复 有任何疑惑可以回复我~
#1

暮女神 提问者

这个只是个赋值语句吧?不会影响light的?
2017-08-06 回复 有任何疑惑可以回复我~
#2

慕丝0026560 回复 暮女神 提问者

会一起改变的,如果你改动了其中的方法之类的,light中的方法也会被改变。
2017-08-06 回复 有任何疑惑可以回复我~
#3

慕丝0026560 回复 暮女神 提问者

这个可能和引用地址那种赋值一样吧。
2017-08-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

继承的写法

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信