当我编辑生产代码(小修复)时,我想添加 console.log
例如,但不会为没有 firebug 或不使用 chrome 的用户中断页面我决定重新定义控制台对象:
if (console == undefined) {
console = {
log : function(){},
info : function(){},
warn : function(){},
error : function(){}
};
};
插入此代码后,JS 执行在没有控制台对象的浏览器(IE、没有 firebug 的 firefox 等)中被破坏。 (“损坏”是指这些行之后的代码根本不执行) 为什么会这样?
最佳答案
(控制台 == 未定义)
如果控制台未定义,将抛出一个 ReferenceError
。
使用 typeof
而不是为未声明的变量抛出 ReferenceErrors
(typeof console === "undefined")
关于javascript - `if (console == undefined)` 怎么会中断 js 执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6764018/