我无法清楚地理解forEach()
javascript 中参数的用法。(我知道第一个是将在数组的每个元素上调用的函数。)这是我的问题:
1)第二个参数是做什么用的?谁能举个例子?
2) 函数(第一个参数)是否总是有 3 个参数:条目、索引和数组?
3)还有一些网站解释Array.prototype.forEach()
。这是一样的forEach()
还是有什么不同?
这是我的jsfiddle。
我试图在网上搜索一个简单的解释是徒劳的!谢谢您的帮助。
我无法清楚地理解forEach()
javascript 中参数的用法。(我知道第一个是将在数组的每个元素上调用的函数。)这是我的问题:
1)第二个参数是做什么用的?谁能举个例子?
2) 函数(第一个参数)是否总是有 3 个参数:条目、索引和数组?
3)还有一些网站解释Array.prototype.forEach()
。这是一样的forEach()
还是有什么不同?
这是我的jsfiddle。
我试图在网上搜索一个简单的解释是徒劳的!谢谢您的帮助。
第二个参数用于this
在函数上下文中设置。一个例子:
var person = {
name: 'Bob',
age: 30
};
var arr = ["foo", "moo", "koo"];
arr.forEach(function(entry, index, array) {
console.log(this.name + ' says ' + entry);
}, person);
您将始终获得所有这 3 个,但如果您不需要它们,则无需引用它们。
1) forEach 的第二个参数允许您控制“this”变量表示您传递给 forEach 第一个参数的函数内部
2)您的函数将始终传递这 3 个参数,但您可以仅使用第一个 arg 或前两个 args 定义您的函数(如果您只需要这些参数)
3) 是的,当人们谈论 forEach 时,他们在技术上指的是 Array.prototype.forEach()。(在您的 jsfiddle 中,您在数组对象上调用 forEach)