js findIndex函数初学者级别

时间:2018-11-14 16:20:14

标签: javascript

我正在学习一个教程并习惯于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){}就足够了吗?

感谢帮助

1 个答案:

答案 0 :(得分:3)

  

所以我不明白的是程序如何知道第一行中的回调是一个函数,而不仅仅是一个普通参数

函数是JS中的一流对象。它们可以像其他任何值一样传递。 “常规参数”。

您的代码尝试将参数视为函数。如果是一个,那么一切都很好。如果不是,那么编写调用findIndex的代码的人会出错,并且会出错。

  

将findIndex(arr,callback){}代替函数findIndex(arr,callback){}就足够了

不。那根本不是用于在JS中声明函数的语法。