我正在研究Javascript中的箭头功能。 我曾两种方式使用过。 没有箭头的那个正在工作,但带箭头的那个没有工作。
你能告诉我原因吗?
let ary = [1,2,3,4,5];
function callback (i) {
console.log(i);
}
// Working
ary.forEach(callback);
// Not working
ary.forEach((i)=>callback);
在“非工作”代码中,您传递的函数返回一个函数(callback
)到forEach。 callback
本身从未被称为。
这实际上会调用函数,但它与直接将回调直接传递给forEach基本相同,就像在第一个示例中一样:
ary.forEach((i) => callback(i));
您可以使用:
ary.forEach(i=>callback);
但是你最好以这种方式使用箭头功能,而不需要定义function callback
let ary = [1,2,3,4,5];
ary.forEach(i=>{
console.log(i);
});
箭头的功能类似于匿名函数。这是一个数组函数,而i
是一个参数。
i=>{
console.log(i);
}
你可以从那里了解更多Array Functions