function demo (){ this.b= function(){ console.log(1); } //document.getElementById('dd').onclick = this.b; //这里有没有办法绑定对象A.b方法? //假如我这里我触发b 方法 我想输出2 而不是 1 } var A = new demo(); //怎样覆盖方法? A.b= function(){ console.log(2) }
怎么看怎么别扭哇,如果是写成类的形式的话不就应该把它抽象化,也就是说不应该和实例有关系么?还是我的理解有问题?我个人觉得你应该把那个在类里面的触发b方法那段代码给封装或者剥离出来。对象是可以修改对象的属性的,你覆盖了A.b方法之后再调用那段代码就好了。
A.b
利用call和apply进行调用,最近刚学到的新姿势A.b.call(A);
A.b.call(A);
怎么看怎么别扭哇,如果是写成类的形式的话不就应该把它抽象化,也就是说不应该和实例有关系么?还是我的理解有问题?我个人觉得你应该把那个在类里面的触发b方法那段代码给封装或者剥离出来。对象是可以修改对象的属性的,你覆盖了
A.b
方法之后再调用那段代码就好了。利用call和apply进行调用,最近刚学到的新姿势
A.b.call(A);