关于javascript:’console’是Internet Explorer的未定义错误

'console' is undefined error for Internet Explorer

我正在使用Firebug,并且有一些语句,比如:

1
console.log("...");

在我的页面。在IE8(可能也是更早的版本)中,我得到了脚本错误,说"console"未定义。我试着把这个放在我的页面顶部:

1
2
<script type="text/javascript">
    if (!console) console = {log: function() {}};

但我还是有错误。有没有办法消除错误?


尝试

1
if (!window.console) console = ...

无法直接引用未定义的变量。但是,所有全局变量都是全局上下文同名的属性(浏览器为window),访问未定义的属性也可以。

或者使用if (typeof console === 'undefined') console = ...,如果要避免使用神奇变量window,请参见@tim down的答案。