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 中,它一直说非法调用,所以我不确定我是否做错了。请问有什么帮助吗?
最佳答案
console.log
期望在您调用this
时将其绑定(bind)到console
。 (当您在 forEach 内部调用它时,您不再将其作为 console
的方法访问,因此其内部 this
将绑定(bind)到全局对象.)
使用console.log.bind(console)
代替console.log
。
关于javascript - 为什么我的代码可以在 codecademy javascript 控制台中运行,但不能在 chrome 中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31496526/