Quando assegno console.log
a una variabile in node.js funziona bene,
var l = console.log
l(1) # outputs 1
Tuttavia, se faccio la stessa cosa con gli strumenti di sviluppo di Chromium 30,
var l = console.log
l(1) # TypeError: Illegal invocation
Com'è che non funziona negli strumenti di sviluppo di Chromium? Perché sto ricevendo,
TypeError: invocation illegale
risposte:
6 per risposta № 1Esattamente perché questo requisito è a posto, non lo so, ma credo che Chrome "s console.log
richiede il valore di this
essere console
. Se vuoi memorizzarlo in una variabile, dovrai vincolare il valore di this
:
var l = console.log.bind(console);
4 per risposta № 2
La console Node.js lo fa console.log = console.log.bind(this)
nel costruttore.