_.each(obj1, function(val, key, context, obj2){
});
回调中第四个参数的目的是什么 - obj2
。这是循环的对象,因此它应始终在外部作用域obj1
中可用。
是否有一个示例表明您需要通过obj1
访问obj2
。
我正在尝试了解obj2
的用途。这是确切的代码行 - 第83行。
if (iterator.call(context, obj[i], i, obj) === breaker) return;
答案 0 :(得分:4)
如果您将对命名函数的引用作为回调传递,obj1
可能不可用:
function my_callback(val, key, context, obj2) {
...
}
function do_stuff() {
var obj1 = ...
_.each(obj1, my_callback);
}
答案 1 :(得分:1)
回调中第四个参数的目的是什么 -
obj2
。这是循环的对象,因此它应始终在外部作用域obj1
中可用。
因此,您可以重复使用相同的函数来循环遍历多个对象,并且仍然可以访问在函数内迭代的对象。您使用的功能可能在其他地方定义。您可以拥有一个函数库,用于各种迭代目的。想要了解对象是什么(罕见(因此它到目前为止参数列表中),但是有用例。