2015-06-22 2 views
4

Я сделал это в моем угловом приложении:вара сл = console.log не работает

var cl = console.log; 
cl(123); 

однако, я имел следующее сообщение об ошибке:

Uncaught TypeError: Illegal invocation 

Это произошло в Chrome. Он работает в Nodejs.

Я смущен. Это незаконный код?

+1

Попробуйте 'вар сл = console.log.bind (консоль)' вместо этого. – Andy

+1

Спасибо, но что случилось с моим кодом? –

+1

Просто объясняется в связанном вопросе. – Amadan

ответ

5

cl ссылается только на метод log(). log() ожидает console как контекст, но получает window. Для того, чтобы решить, связывают console в контексте:

var cl = console.log.bind(console); 
 
cl("Hello");

+1

Спасибо, но что случилось с моим кодом? –

+0

@ElgsQianChen обновленный ответ – K3N

+0

Спасибо. Теперь я понял, почему. :) –

Смежные вопросы