JavaScript中的for erach回调函数中的第三参数的点是什么



我知道JavaScript中的foreach用三个参数调用我的回调函数:

arr.forEach(function callback(currentValue, index, array) {
    //your iterator
})

在上面的示例中, arrarray是相同的数组,并且在回调函数关闭中存在arr

现在问题是将array传递给回调函数的意义是什么?

如果您的回调函数在其他地方声明:

function forEachCallback(value, i, array) {
  // ...
}

那么它不知道它是用什么数组来的:

someArray.forEach(forEachCallback);

因为数组作为最后一个参数,所以这样的回调可以访问它。

回调不必与forEach调用相同的范围。在这样的情况下,第三个参数将确保回调对该数组有一些引用。

最新更新