你好StackOverflow高手!
我目前正在使用Eloquent JavaScript书来自学JavaScript!
目前我正在抽象一个for循环动作,这是代码如下......
function forEach(array, action) {
for (var i = 0; i < array.length; i++) {
action(array[i]);
}
}
然后用...调用forEach。
forEach(["Wampeter", "Foma", "Granfalloon"], print);
然而,不是打印我想将它记录到控制台,因此我将打印更改为console.log但是我会因非法调用而得到错误。
任何人都知道为什么会发生这种情况以及如何实现这一目标?
干杯!
答案 0 :(得分:2)
您的问题将适用于需要正确设置context (this)的任何功能。 要解决此问题,您可以绑定'this':
forEach(['foo', 'bar'], console.log.bind(console));
希望这有帮助!