绑定方法不起作用

bind method not work

本文关键字:不起作用 方法 绑定      更新时间:2023-09-26
         var tap = {tap:"tap tap tap",
                  trrap : function (){
                  alert(this.tap);
                  }
};
          var tab = {tap:"tab tab tab",
                      trrab: function (){tap.trrap.bind(this);};
};
tab.trrab();

我想将选项卡对象传递给tap对象中的函数,就像alert(tab.tap);一样。两者都有水龙头属性。

你从未调用过绑定函数。 bind返回一个它不调用的函数。

var tap = {
    tap:"tap tap tap",
    trrap : function (){
        alert(this.tap);
    }
};
var tab = {
    tap:"tab tab tab",
    trrab: function (){
        tap.trrap.bind(this)();
    }
};
tab.trrab();

http://jsfiddle.net/hqEXs/

您也可以使用 call 来设置上下文并立即调用它。

tap.trrap.call(this);

apply

tap.trrap.apply(this);