【发布时间】:2014-10-25 19:34:47
【问题描述】:
我正在编写一个函数,它允许我通过将另一个函数作为值传递来显示数组的值。
这段代码运行良好:
function forEach(array, action) {
for (var i = 0; i < array.length; i++)
action(array[i]);
}
forEach(["foo", "bar", "qux"], alert);
但是如果我尝试传递带有属性的函数,它会抛出错误:
function forEach(array, action) {
for (var i = 0; i < array.length; i++)
action(array[i]);
}
forEach(["foo", "bar", "qux"], console.log);
如果我这样做:
action.log(array[i]);
它工作得很好,但这只会让我传递带有.log 属性的函数。有什么方法可以编写一个函数,允许我将另一个函数和属性作为值传递?
【问题讨论】:
-
相关:How to access the correct
this/ context inside a callback? - 改为通过console.log.bind(console)。
标签: javascript function methods functional-programming this