为什么我的回调不是一种类型的函数? var-arr=[1,4,5]; var getMaxOfArray=函数(列表,回调){//此函数返回最大值 if(回调类型==“函数”) 返回Math.max.apply(Math,callback.call(list)); 其他的 返回-1; }; var cb=function(list){//callback为新数组的每个值添加两个 var结果=[]; 对于(var i=0;i

为什么我的回调不是一种类型的函数? var-arr=[1,4,5]; var getMaxOfArray=函数(列表,回调){//此函数返回最大值 if(回调类型==“函数”) 返回Math.max.apply(Math,callback.call(list)); 其他的 返回-1; }; var cb=function(list){//callback为新数组的每个值添加两个 var结果=[]; 对于(var i=0;i,math,callback,max,typeof,Math,Callback,Max,Typeof,首先,需要调用getMaxOfArray方法,如下所示: var arr = [1,4,5]; var getMaxOfArray = function(list, callback) { //this function return the max if (typeof callback === "function") return Math.max.apply(Math, callback.call(list)); else return -

首先,需要调用getMaxOfArray方法,如下所示:

var arr = [1,4,5];
var getMaxOfArray = function(list, callback) { //this function return the max
    if (typeof callback === "function")
        return Math.max.apply(Math, callback.call(list));
    else 
        return -1;
};

var cb = function(list) { //callback adds two to each value to a new array
    var results = [];
    for (var i=0; i<list.length; i++) {
        results.push(list[i] + 2);
    }  
    return results;
};


//cb(arr);

getMaxOfArray(arr, cb(arr));
第二,将呼叫线路更改为:

getMaxOfArray(arr, cb);
或者简单地调用回调:

return Math.max.apply(Math, callback.call(this, list));

谢谢,成功了!!我想我还是不太理解
这个
关键字。
return Math.max.apply(Math, callback(list));