如果我不在回调中使用`this`关键字,我应该使用可选的context参数吗?

时间:2014-07-26 10:39:07

标签: javascript underscore.js

使用可以接受它的众多实用程序功能时。例如:

function foo () {
    _.each ([0,1,2,3], function(val) {
        // I don't use this in the body
    }, this);
}

似乎有一种方法更简洁,另一种方法是以后再添加代码。

2 个答案:

答案 0 :(得分:1)

可选参数添加了上下文,换句话说,回调中“this”指的是什么 如果你想这样,你只需要添加它。如果您正在使用像骨干这样的库,它可以非常方便(例如,当从视图对象中调用该函数时,您希望'this'引用该视图)。

答案 1 :(得分:1)

  

似乎一种方式更简洁

然后使用它。

  

以防您稍后添加代码。

You ain't gonna need it。直到后来,至少。