0
         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();

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

4

1 回答 1

2

您从未调用过绑定函数。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);
于 2013-07-14T18:06:46.827 回答