这是我在 StackOverflow 上的第一篇文章,如果您能从概念层面帮助我澄清以下 JavaScript 函数中发生的事情,我将不胜感激。所以,我练习这门语言已经有一段时间了,现在我在函数的世界里更深入了一点。这是我的困境:
function findEven(array, callback) {
for (let i = 0; i < array.length; i++) {
if (callback(array[i])) {
console.log(array[i]);
}
}
}
function isEven(num) {
return num % 2 === 0;
};
findEven([2, 4, 6, 7, 9, 12], isEven);
现在,我了解了它的作用,并且我知道我可以使用简单的.forEach()
. 但是,我想得到的是条件if (callback(array[i]))
正在做什么。是否确定回调函数是否真实(根据 MDN 词汇表,所有值都是真实的,除非它们被定义为虚假)?为什么会这样,因为我在最终数组中定义了回调函数?事实上,如果我尝试剥离它,它会返回错误:“回调不是函数”。你能证实吗?我希望我以一种有意义的方式发布我的问题,在此先感谢!