function forEach(array, action) {
for(i = 0; i <= array.length; i++) {
action(array[i]);
}
};
console.log(forEach([1, 2, 3], console.log));
为什么这段代码按照我想要的方式在codeacademy javascript控制台中执行,但不是chrome中的那个?在Chrome中,它一直在说非法调用,所以我不确定我是否做错了。有什么帮助吗?
答案 0 :(得分:2)
this
期望console
在您调用console
时绑定到this
。 (当你在forEach中调用它时,你不再以console.log.bind(console)
的方式访问它,因此它的内部console.log
将绑定到全局对象。)
使用innerException
代替throw;
。