javascript - Firefox 中涉及单词 "event"的 JavaScript 错误是怎么回事?

标签 javascript google-chrome firefox cross-browser lungo

我正在使用 Lungo 框架。我试图了解我的代码中是否存在错误或框架中是否存在错误,因为我想“blame my code before blaming others ”。这行代码在 Firefox 26.0 中引发以下错误,但在 Chrome 31.0.1650.63 中不会引发以下错误:

 _sameSection = function () {
     var dispacher_section, same;
     if (!event || !lng.Element.Cache.section) {  //event is not defined
         return true; 
     }

我知道 event 不是 javascript 中的保留字 ( Is 'event' a reserved word in JavaScript? ) —— 但它是 IE 中的全局变量。它也是 Chrome 上的保留字吗?因为我在 Chrome 上没有收到此错误。

如果我回顾代码,我会发现事件没有定义为该函数范围之外的变量。所以这似乎与不同浏览器如何处理“事件”一词有关。

最佳答案

考虑使用显式检查而不是隐式检查:

typeof(window.event) === "undefined"

不同的浏览器对于其他浏览器的特殊情况有不同的行为(这就是为什么像 jQuery 这样的库更容易 - 许多一次性情况已经在库内处理)。

关于javascript - Firefox 中涉及单词 "event"的 JavaScript 错误是怎么回事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20818185/

相关文章:

javascript - Egghead.io webpack Angular 教程

javascript - 在 React 中渲染普通的 JavaScript

google-chrome - 网络选项卡上的这些数字是什么意思?

javascript - 如何阻止 jQuery.ajax() 将失败记录到控制台?

python - 使用 Python 3.x 启动 Firefox

javascript - Vue - 动画与使用 Click 的普通 javascript 实现的区别

javascript - Jquery UI 对话框在 ssl 页面上不起作用

css - ERR_ABORTED 404(未找到)CSS 样式表 Symfony

html - chrome 和 firefox 显示不同

javascript - 为什么我的 javascript 文件在 IE7 上不起作用?