javascript函数作为参数 - 非法调用。为什么?

时间:2016-07-31 15:03:31

标签: javascript function parameter-passing

为什么以下代码不起作用?它出现在非法调用异常中:

function forEach(array , action) {
    for (var i = 0; i < array.length; i++)
        action(array[i]);
}
forEach([1,2,3], console.log);

1 个答案:

答案 0 :(得分:1)

你需要这样做:

function forEach(array , action) {
    for (var i = 0; i < array.length; i++){
        action(array[i]);
    }
}

您可以将上述内容称为:

forEach([1,2,3], function(value){
    console.log(value)
});

OR

forEach([1,2,3], console.log.bind(console));