javascript - `if (console == undefined)` 怎么会中断 js 执行?

标签 javascript console

当我编辑生产代码(小修复)时,我想添加 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/

相关文章:

javascript - 如何识别和删除文本中的任何类型的项目符号

batch-file - Windows 批处理文件 + 控制台 exe

javascript - AngularJS - 如何使用 ng-repeat 重复列表中的每 2 个项目?

javascript - 使用 jquery 或 javascript 重新加载 div 或脚本而不是页面的随机按钮

c++ - FillConsoleOutputCharacter/WriteConsoleOutput 和特殊字符

c++ - ncurses 检测鼠标何时离开窗口

javascript - console.dir 和 console.log 有什么区别?

c - 在 R 中抑制来自底层 C 函数的消息

javascript - 为什么return false仍然允许提交表单?

javascript - 如何在Javascript中将点符号字符串转换为对象