2013-11-10 83 views
8

当我在它工作正常的node.js分配console.log给一个变量,节点与Chrome,将console.log分配给变量?

var l = console.log 
l(1) # outputs 1 

但是,如果我这样做在Chromium 30的开发工具同样的事情,

var l = console.log 
l(1) # TypeError: Illegal invocation 

为什么它不” t在Chromium的开发工具中工作?为什么我会得到,

TypeError: Illegal invocation

+0

它适用于Firefox,为什么不使用Firefox? – NoBugs

回答

6

究竟为什么这个要求十分到位,我不知道,但我想Chrome的console.log需要this值是console。如果你想将其存储在一个变量,你必须的this值绑定:

var l = console.log.bind(console);