使用绑定与使用本地引用相比的优势?

时间:2015-07-31 15:16:19

标签: javascript underscore.js

使用_.bind与使用this的本地引用相比有优势或不同吗?

这是一个非常简化的示例:doAdd是需要在父对象上生成属性的本地函数的示例;它最终作为doSomethingThenCallback内的回调函数运行。选项A与选项B:

var obj = {
    num: 1,

    // Option A
    add_A: function() {
        function doAdd(){
            this.num++;
        }
        // Make the "this" in the function refer to the parent object
        doAdd = _.bind(doAdd, this);
        doSomethingThenCallback(doAdd);
    },

    // Option B
    add_B: function() {
        // Save a local reference to "this"
        var o = this;
        function doAdd(){
            o.num++;
        }
        doSomethingThenCallback(doAdd);
    }
}

0 个答案:

没有答案