是否有可能以某种方式停止或终止JavaScript,以防止任何进一步的基于 JavaScript 的执行发生,而无需重新加载浏览器?
我正在考虑exit()在 PHP 中等效的 JavaScript。
exit()
简短的回答:
throw new Error("Something went badly wrong!");
如果您想了解更多,请继续阅读。
代码中的表达式debugger;将停止页面执行,然后浏览器的开发人员工具将允许您查看页面在冻结时的状态。
debugger;
不要试图停止一切,而是让您的代码处理错误。通过谷歌搜索了解Exceptions。它们是让您的代码“跳转”到错误处理过程而无需使用繁琐的 if/else 块的聪明方法。
Exception
在阅读了它们之后,如果您认为中断整个代码绝对是唯一的选择,那么抛出一个不会在除应用程序的“根”范围之外的任何地方“捕获”的异常是解决方案:
// creates a new exception type: function FatalError(){ Error.apply(this, arguments); this.name = "FatalError"; } FatalError.prototype = Object.create(Error.prototype); // and then, use this to trigger the error: throw new FatalError("Something went badly wrong!");
确保您没有catch()捕获 任何 异常的块;在这种情况下,修改它们以重新抛出您的"FatalError"异常:
catch()
"FatalError"
catch(exc){ if(exc instanceof FatalError) throw exc; else /* current code here */ }
return;将终止当前函数的执行流程。
return;
if(someEventHappened) return; // Will prevent subsequent code from being executed alert("This alert will never be shown.");
注意:return;仅在函数内有效。
…您可能还想知道如何停止异步代码。用clearTimeout和完成clearInterval。最后,要停止XHR ( Ajax ) 请求,您可以使用该xhrObj.abort()方法(在 jQuery 中也 可用 )。
clearTimeout
clearInterval
xhrObj.abort()