gpt4 book ai didi

javascript - 浏览器对 JS 错误的处理

转载 作者:行者123 更新时间:2023-11-30 13:09:56 25 4
gpt4 key购买 nike

对于Javavscript中的以下代码:

// add HTML to container
// show the container on the DOM
// call a non-existent function on an object

我成功地看到 Firefox 和 IE 显示了我的 HTML。第三行代码显示 Firebug 和 IE 中的 JS 错误,似乎被抑制/忽略。

浏览器通常会忽略糟糕的 JS 吗?或者,假设我在第 3 行代码之后添加了 alert("line 4");。第 4 行是否会被忽略,因为 JS 解释将在非法 JS 代码行结束?

我在 jsFiddle 中测试了我的场景,但我不确定 jsFiddle 的行为方式是否与浏览器相同。

最佳答案

JavaScript 引擎将执行代码,直到遇到异常。然后行为会根据以下情况发生变化:

  • 如果它在 try..catch 中, 执行将从 catch 恢复, 否则
  • 如果它被异步调用,这个序列将在此时结束,但其他正在进行的序列将继续。 (一个简单的例子是 window.setTimeout )
  • 如果直接在<script> , <script> 中的其余代码从那时起将不会执行,但代码在 <script> 之后会的。

如果异常发生在被提升的东西中,那么将执行点视为第 0 行。

您可以使用 throw 轻松测试发生了什么关键词。例如

console.log(1); // logs
console.log(2); // logs
throw 'eep';
console.log(4); // does not log

关于javascript - 浏览器对 JS 错误的处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14262082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com