3条回答 默认 最新
机智起来自己都害怕 2018-11-23 08:12关注要实现继承,就必须保证实例对象的修改不能影响被继承者自身。
new 过程,实际上就是创建一个新对象的过程。所以不管你之后var 的es5还是es6,实际上都是创建了2个新的实例对象。
你修改es5的flag 并不会影响到es6的flag
要想修改父类的属性,可以这么写
var es5 = Sub // 将es5的引用指向Sub
es5.flag = false // 修改es5的flag 实际上修改的是 es5和Sub 的同一引用var es6 = new Sub()
console.log(es6.flag) // false评论 打赏 举报解决 1无用
