内联此范围'绑定'

时间:2013-11-29 09:01:21

标签: javascript scope this bind

我有一个新手问题:我想通过使用'bind'方法在函数中改变'this'上下文,现在...... widley spreaded covention这样做是:

var bindedFetch = this.fetch.bind(this);
bindedFetch({
    error : function() {
        this.trigger('fetching-error', 'Data fetching error');
    }
});

但我希望在不使用其他变量的情况下实现相同的目标(我希望尽可能获得最干净的代码) - 所以我在下面做了一些事情:

this.fetch.bind(this, {
    error : function() {
        this.trigger('fetching-error', 'Data fetching error');
    }
})();

并且它有效...但是我不相信这个解决方案100%,有任何其他建议我如何绑定和发送一个方法在线

1 个答案:

答案 0 :(得分:2)

如果您只打算使用一次,请不要使用bind。请改为使用电话或申请。

returnFoo.call(context, arg1, arg2);
returnFoo.apply(context, [arg1, arg2]);

See this blog