javascript - 在这种情况下如何使 JavaScript 以更明显的方式失败

标签 javascript

这是一个 SSCCE。

考虑以下代码:

<html>
  <head>
    <script type="text/javascript">
     window.addEventListener("load", eventWindowLoaded, false);
     var eventWindowLoaded = function () {
       console.log('event window loaded');
     };
    </script>
  </head>
  <body>
  </body>
</html>

它不起作用,但问题不在于如何修复它。相反,问题是当 eventWindowLoaded 变量尚未分配时,为什么 JavaScript 会悄无声息地失败。在 Chrome 中调试时,我没有看到控制台上打印任何内容,也没有迹象表明出现问题。代码只是默默地失败了。我必须使用哪些选项/工具来确保在开发 JavaScript 时失败得比这更严重? ("use strict"; 也什么都不做)。

最佳答案

正如您似乎了解提升(根据反对票判断)一样,您知道为什么您的代码无法正常工作。因此,为了确保 JS 更加失败,您可以将代码更改为:

 window.addEventListener("load", eventWindowLoaded || function(){ throw new Error('An error message'    )}, false);

关于javascript - 在这种情况下如何使 JavaScript 以更明显的方式失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34357063/

相关文章:

Javascript - 在按钮下设置跨度的innerHTML

Javascript 的调用堆栈和执行顺序

javascript - 如何正确捕获 axios get 请求中的错误?

javascript - 使用图像映射导航栏实现平滑滚动

javascript - Angular - 是 other 的子元素

javascript - Highstock 中的尖峰未正确显示

javascript - 在Javascript中使链接可点击?

javascript - 在 decodeAudioData 回调方法中存储缓冲区

javascript - Backbone 应用组织

javascript - float 绘图悬停和变换