js es6 extends继承,多个类继承同一个类,被继承的类里的变量不会更新!咋解决啊

你代码写的有猫饼,实例化时会覆盖同一个对象的同一个属性。
■网友
拜众大神普及ES6所赐,大量粉丝亦步亦趋,今天终于看到怪物一般的代码。不理解OO,不理解JS,更不理解ES6。
理解的就是“那个样子”。

■网友
基类的构造函数有问题
【js es6 extends继承,多个类继承同一个类,被继承的类里的变量不会更新!咋解决啊】 每次新对象构造的时候都会对name重新初始化。


■网友
jia的click方法中的this始终指向最后一个实例化的对象,所以每次只有最后一个对象的name值被修改

■网友
把实例属性改为原型属性试试。即:constructor(){ getTab. prototype. name =1; ...}累加也用 getTab. prototype. name++其它不用改动。如果不想每次实例化name都被重新赋值,可把getTab. prototype. name =1;这句放在getTab对象外。
■网友
我也遇到过这个问题,蛋疼死我了,最后用es5里面的原型链写了一个继承和重写了es5里面new关键字,并且不使用关键字new用xx.create()代替,建议不要使用es6里面的extends浏览器支持性还不全,并且好像如楼上说的一样"拜众大神普及ES6所赐,大量粉丝亦步亦趋,今天终于看到怪物一般的代码。不理解OO,不理解JS,更不理解ES6"
■网友
从new开始了解 ,new是一个什么样的过程。再从原型链(prototype),继承之后,再开始学习es6比较不错。

■网友
每一次实例化时jia的onclick属性就会被重新赋值,所以只会保留最后一次实例化的事件处理函数,最后一次的name属性才会被改变。使用addEventListener应该是你期望的效果。


    推荐阅读