为什么我不能分配这样的功能

时间:2013-12-27 23:00:51

标签: javascript

为什么我不能在javascript中创建:

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

如何实现这一目标?

1 个答案:

答案 0 :(得分:6)

在JavaScript中,this的值取决于函数的调用方式。

log()内,this在严格模式下为undefined,否则为默认对象(在浏览器中为window)。

console.log()内,thisconsole

log函数可能取决于对console对象的访问权限。

您可以改为编写包装函数:

function log() {
    console.log.apply(console, arguments);
}

sufficiently modern browsers中,您可以使用bind生成该功能。

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