我知道JavaScript 中的forEach使用三个参数调用我的回调函数:
arr.forEach(function callback(currentValue, index, array) {
//your iterator
})
Run Code Online (Sandbox Code Playgroud)
在上面的例子arr和array是相同的阵列与arr存在于回调函数闭合.
现在问题是传递array给回调函数的重点是什么?
JavaScript的数组迭代功能(forEach,every,some等),让您通过三个参数:当前项,当前索引和阵列在其上操作.
我的问题是:作为参数操作数组有什么好处,而不是通过闭包来访问它?
我为什么要用这个:
myArray.forEach(function(item, i, arr) {doSomething(arr);});
Run Code Online (Sandbox Code Playgroud)
而不是这个:
myArray.forEach(function(item, i) {doSomething(myArray);});
Run Code Online (Sandbox Code Playgroud)