为什么我的代码在codeacademy javascript控制台中工作,但不是chrome中的那个?

时间:2015-07-18 23:24:22

标签: javascript google-chrome invocation

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中,它一直在说非法调用,所以我不确定我是否做错了。有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

this期望console在您调用console时绑定到this(当你在forEach中调用它时,你不再以console.log.bind(console)的方式访问它,因此它的内部console.log将绑定到全局对象。)

使用innerException代替throw;