search

Home  >  Q&A  >  body text

javascript - 对象方法 怎么覆盖 类 方法呢?

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)
}
巴扎黑巴扎黑2901 days ago370

reply all(2)I'll reply

  • 高洛峰

    高洛峰2017-04-10 14:44:05

    怎么看怎么别扭哇,如果是写成类的形式的话不就应该把它抽象化,也就是说不应该和实例有关系么?还是我的理解有问题?我个人觉得你应该把那个在类里面的触发b方法那段代码给封装或者剥离出来。对象是可以修改对象的属性的,你覆盖了A.b方法之后再调用那段代码就好了。

    reply
    0
  • PHPz

    PHPz2017-04-10 14:44:05

    利用call和apply进行调用,最近刚学到的新姿势A.b.call(A);

    reply
    0
  • Cancelreply