有没有可能在不重新加载浏览器的情况下,以某种方式停止或终止JavaScript,从而阻止任何基于JavaScript的进一步执行?

我正在考虑在PHP中使用相当于exit()的JavaScript.

推荐答案

简短回答:

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

如果你想知道更多,继续阅读.


是否要停止JavaScript的开发/调试执行?

代码中的表达式debugger;将停止页面执行,然后浏览器的开发工具将允许您查看页面冻结时的状态.

你想随意地、故意地停止你的应用程序吗?

错误?

与其试图停止一切,不如让您的代码处理错误.通过谷歌阅读大约Exception个.它们是一种聪明的方式,可以让您的代码"跳转"到错误处理过程,而无需使用乏味的if/Else块.

在阅读了它们之后,如果您认为中断整个代码绝对是唯一的 Select ,那么抛出一个除了应用程序的"根"范围之外不会被"捕获"的异常就是解决方案:

// 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!");

be sure you don't have 100 blocks that catch 102 exception; in this case modify them to rethrow your 101 exception:

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;只在一个函数中起作用.

在这两种情况下...

.您可能还想知道如何停止异步代码.用clearTimeoutclearInterval就行了.最后,要停止XHR(103)个请求,您可以使用xhrObj.abort()方法(which is available in 104 as well).

Javascript相关问答推荐

通过在页面上滚动来移动滚动条

使用useEffect,axios和useParams进行react测试

Promise Chain中的第二个useState不更新

我在我的Java代码中遇到了问题,代码的一部分看不到先前定义的对象

保持物品顺序的可变大小物品分配到平衡组的算法

Webpack在导入前混淆文件名

使用auth.js保护API路由的Next.JS,FETCH()不起作用

VSCode中出现随机行

搜索功能不是在分页的每一页上进行搜索

当我try 将值更改为True时,按钮不会锁定

无法读取未定义的属性(正在读取合并)-react RTK

将范围 Select 器添加到HighChart面积图

在Vercel中部署Next.js项目时获取`ReferenceError:未定义文档`

Promise.race()返回已解析的promise ,而不是第一个被拒绝的promise

为什么当雪碧的S在另一个函数中时,Phaser不能加载它?

计算对象数组中属性的滚动增量

使用onClick单击子元素时,使用交点观察器的关键帧动画意外运行

JavaScript structuredClone在Chrome/Edge中获得了非法调用,但在NodeJS中没有

我如何让我的弹力球在JavaScript和HTML画布中相互碰撞后改变 colored颜色 ?

如何在HTML中使用rxjs显示动态更新