我无法清楚地理解javascript中forEach()
的参数的用法。
(我理解第一个是将在数组的每个元素上调用的函数。)
以下是我的问题:
1)第二个参数用于什么?谁能举个例子?
2)函数(第一个参数)是否总是有3个参数:entry,index和array?
3)还有一些网站解释Array.prototype.forEach()
。这是forEach()
相同还是有什么不同?
这是我的jsfiddle。
我徒劳地试图在网上搜索一个简单的解释!谢谢你的帮助。
答案 0 :(得分:3)
第二个参数用于在函数上下文中设置this
。 An example:
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 :(得分:0)
1)forEach的第二个arg允许你控制'this'变量代表你传递给forEach的第一个参数的函数内部
2)你的函数将永远传递给那3个参数,但你可以只用第一个arg或前两个参数来定义你的函数,如果你需要它们的话
3)是的,当人们谈论forEach时,他们在技术上指的是Array.prototype.forEach()。 (在你的jsfiddle中,你在一个数组对象上调用forEach)