在下面来自 Codecademy 的示例中,考虑到我们到目前为止只声明了“艺术家”,我不太明白控制台如何处理高阶函数中的“艺术家”参数?
const artists = ['Picasso', 'Kahlo', 'Matisse', 'Utamaro'];
artists.forEach(artist => {
console.log(artist + ' is one of my favorite artists.');
});
我们如何使用“艺术家”而不是类似:
artist[i]
当您运行
forEach(artist = > {/*something*/})
时,您正在创建回调函数,该函数会为数组中的每个元素调用。 artist =>
部分将 artist
作为参数传递。在新创建的函数中,您可以使用 Artist 参数,该参数将是 artists
数组中的艺术家之一。这就是为什么您也可以像这样使用 .forEach()
:
const artists = ['Picasso', 'Kahlo', 'Matisse', 'Utamaro'];
function printArtist(artist) {
console.log(artist + ' is one of my favorite artists.');
}
artists.forEach(artist => printArtist(artist))