当前位置: 首页 > 面试题库 >

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

孔鸿宝
2023-03-14
问题内容

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

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


问题答案:

简短答案:

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中也可用)。



 类似资料:
  • 问题内容: jmap进行内存转储时,我的Java应用程序是否继续运行? 问题答案: 您的应用程序已停止。获得准确的堆转储的唯一实用方法是在创建转储时停止所有应用程序活动。 这是“简短”暂停还是“长时间”暂停取决于要转储多少。如果使用“ -dump”,则将转储整个堆,包括不可达的对象。如果使用“ -dump:live”,则只会转储可访问的对象……但这(至少)需要标记堆以找出可访问的对象。 但是,如果

  • 在我的progress函数中,它将到达递归的底部,但是我期望返回的值没有改变。 这应该返回true,它符合条件(记录文本),但随后继续移动,并且始终返回false。

  • 本文向大家介绍是否可以在JavaScript执行中写入MongoDB控制台?,包括了是否可以在JavaScript执行中写入MongoDB控制台?的使用技巧和注意事项,需要的朋友参考一下 要在控制台上编写,您需要使用方法。语法如下- 要显示对象,可以使用。语法如下- 让我们实现这两个功能。第一个查询如下所示以显示某些内容- 以下是控制台上的输出- 让我们创建一个对象。查询如下- 这是显示上述对象“

  • 问题内容: 简而言之,我需要能够将已编译的可执行文件粘贴到Java jar文件中,然后能够从Java运行它(可能通过)。 的 原因 ,是我想使用Java来包裹ImageMagick的可执行文件成分的图像处理弹性的Map Reduce任务。EMR只希望获取一个jar文件,因此我认为没有空间在旋转的数据节点上安装软件。 问题答案: jar中的可执行文件是一种资源,您可以通过Stream访问它,并将可执

  • 问题内容: 我正在使用nodejs和mongoose —尝试在嵌套有递归函数和foreach的深层注释中找到特定的注释。有没有一种方法可以停止nodejs forEach?据我了解,每个forEach迭代都是一个函数,并且我不能只执行“ break”,而只能执行“ return”,但这不会停止foreach。 问题答案: 您无法打破。不过,我可以想到三种伪造方法。 1.The Ugly Way :

  • 问题内容: 我想使用asyncio调用loop.run_in_executor在Executor中启动一个阻塞函数,然后在以后取消它,但这似乎对我不起作用。 这是代码: 我希望上面的代码仅允许阻塞函数输出: 然后查看非阻塞函数的输出。但是,即使我取消了,阻碍性的未来仍在继续。 可能吗?还有其他方法吗? 谢谢 问题答案: 在这种情况下,一旦它真正开始运行,就无法取消它,因为您依赖的行为,并且它的文档