我不了解许多underscore.js函数的上下文变量的用途。它有什么作用。我知道它在迭代器回调中绑定(bind)了“this”,但我不了解它的实际应用。

var context = {'a': 'a'};
_.each([1, 2, 3], function(element, index, list)
{
    console.log(this);
    console.log(element);
    console.log(index);
    console.log(list);
}, context);

最佳答案

下划线的_.each看起来像这样:
_.each(list, iterator, [context])
当迭代器是已创建的某些对象的成员,并且您希望在对象而不是窗口的范围内执行该功能时,上下文非常有用。如果要用作迭代器的预写函数使用this引用对象的实例(通常是这种情况),则在没有上下文的情况下调用该函数将导致this引用错误的内容。

07-24 09:50
查看更多