lightHalf.prototype=light.prototype;为什么这么写不行
LightEntire.prototype = Object.create(Light.prototype); LightEntire.prototype.constructor = LightEntire
Object.create()创建一个空对象,这个空对象的原型指向Light.prototype,将LightHalf的prototype=这个空对象的原型,实现一个继承关系,这里的construstor指向Light,可以修改成自身LightHalf
,如果直接LightHalf.prototype=Light.prototype,在修改LightHalf时就会影响到Light,因为他们指向同一个对象
如果用你说的这种写法,更改lightHalf.prototype中的那些属性的时候,light.prototype中的属性也会被改变。