我正在学习一个教程并习惯于Javascript中的findIndexFunction,我们必须创建此函数。
function findIndex(arr, callback) {
for ( var i=0; i<=arr.length; i++){
if callback(arr[i],i,arr){
return i;
}
}
return -1;
}
所以我不明白的是程序如何知道第一行中的回调是一个函数,而不仅仅是普通参数,因为在第三行中它已成为函数。 我也相信这项工作是为我们创建一个findIndex函数,或者是第一行已经实现了findIndex函数,如果这样的话,为什么要说术语函数。如果这是findIndex函数,将不会使用findIndex(arr,callback){}而不是函数findIndex(arr,callback){}就足够了吗?
感谢帮助
答案 0 :(得分:3)
所以我不明白的是程序如何知道第一行中的回调是一个函数,而不仅仅是一个普通参数
函数是JS中的一流对象。它们可以像其他任何值一样传递。 是“常规参数”。
您的代码尝试将参数视为函数。如果是一个,那么一切都很好。如果不是,那么编写调用findIndex的代码的人会出错,并且会出错。
将findIndex(arr,callback){}代替函数findIndex(arr,callback){}就足够了
不。那根本不是用于在JS中声明函数的语法。