当我将console.log
分配给node.js中的变量时,它可以正常工作,
var l = console.log
l(1) # outputs 1
但是,如果我在Chromium 30的开发工具中做同样的事情,
var l = console.log
l(1) # TypeError: Illegal invocation
为什么它在Chromium的开发工具中不起作用?我为什么要这样做,
TypeError:非法调用
答案 0 :(得分:6)
为什么此要求到位,我不知道,但我想Chrome console.log
要求this
的值为console
。如果要将其存储在变量中,则必须绑定this
:
var l = console.log.bind(console);
答案 1 :(得分:4)