var cl = console.log不起作用

Qia*_*hen 4 javascript

我在Angular应用程序中这样做了:

var cl = console.log;
cl(123);
Run Code Online (Sandbox Code Playgroud)

但是,我有以下错误消息:

Uncaught TypeError: Illegal invocation
Run Code Online (Sandbox Code Playgroud)

这发生在Chrome中.它适用于Nodejs.

我糊涂了.这是非法代码吗?

小智 6

cl仅引用该log()方法.log()期待console作为背景但得到window.要解决,绑定console为上下文:

var cl = console.log.bind(console);
cl("Hello");
Run Code Online (Sandbox Code Playgroud)