小编典典

是否可以停止JavaScript执行?[重复]

javascript

是否有可能以某种方式停止或终止JavaScript,从而防止再次发生基于JavaScript的执行,而无需重新加载浏览器?

我在想JavaScript等同exit()于PHP。


阅读 290

收藏
2020-05-01

共1个答案

小编典典

简短答案:

throw new Error("Something went badly wrong!");

如果您想了解更多,请继续阅读。


您是否要停止JavaScript的开发/调试工作?

debugger;代码中的表达式将停止页面执行,然后您的浏览器开发人员工具将使您可以查看页面冻结时的状态。

您是否要故意停止设计您的应用程序?

出错了吗?

与其尝试停止所有操作,不如让您的代码处理错误。Exception通过谷歌搜索了解。它们是一种使您的代码“跳转”到错误处理过程而无需使用繁琐的if /else块的聪明方法。

在阅读了有关它们的内容之后,如果您认为中断整个代码绝对是唯一的选择,那么将引发一个除了应用程序的“ root”作用域之外不会被“捕获”的异常是解决方案:

// 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(exc){ if(exc instanceof FatalError) throw exc; else /* current code here */ }

当任务完成或发生任意事件时?

return; 将终止当前函数的执行流程。

if(someEventHappened) return; // Will prevent subsequent code from being executed
alert("This alert will never be shown.");

注意:return;仅在功能内起作用。

在两种情况下…

…您可能还想知道如何停止异步代码。通过clearTimeout和完成clearInterval。最后,要停止XHR)请求,您可以使用xhrObj.abort()方法( 在jQuery中也可用)。

2020-05-01