我如何退出JavaScript脚本,就像PHP的退出或死亡?我知道这不是最好的编程实践,但我需要这样做。


当前回答

这段代码将停止当前窗口中所有javascript的执行:

(,);

例子

console.log('READY!'); setTimeout(()=>{ /* animation call */ div.className = "anim"; console.log('SET!'); setTimeout(()=>{ setTimeout(()=>{ console.log('this code will never be executed'); },1000); console.log('GO!'); /* BOMB */ for(;;); console.log('this code will never be executed'); },1000); },1000); #div { position: fixed; height: 1rem; width: 1rem; left: 0rem; top: 0rem; transition: all 5s; background: red; } /* this <div> will never reached the right bottom corner */ #div.anim { left: calc(100vw - 1rem); top: calc(100vh - 1rem); } <div id="div"></div>

其他回答

把“”;

是对这个概念的误用,但可能是唯一的选择。是的,您必须重置所有事件侦听器,就像接受的答案提到的那样。如果我是对的,你还需要一个单一的入口。

在它的顶部:你想要一个通过电子邮件向你报告的页面,你可以使用例如Raven/Sentry。但这意味着,你给自己制造了假阳性。在这种情况下,您还需要更新默认处理程序以过滤掉此类事件,或者在Sentry的仪表板上将此类事件设置为忽略。

window.stop ();

这在页面加载期间不起作用。它也会停止对页面的解码。所以你不能用它来为用户提供网页的无javascript变体。

调试器;

仅在调试器打开时停止执行。工作很好,但不能交付。

这个小函数非常接近于模仿PHP的exit()。与其他解决方案一样,不要添加任何其他解决方案。

function exit(Msg)
    {
    Msg=Msg?'*** '+Msg:'';
    if (Msg) alert(Msg);
    throw new Error();
    } // exit

我使用ibroker和容易地设法停止脚本

stopScript();

在JavaScript中有多种方式,下面是其中的一些

方法1:

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

方法2:

return;

方法3:

return false;

方法4:

new new

方法5:

使用上述方法编写自定义函数,并在需要的地方调用

注意: 如果您想暂停代码执行,您可以使用

debugger; 

我知道这是旧的,但如果你想要一个类似的PHP die()函数,你可以这样做:

function die(reason) {
    throw new Error(reason);
}

用法:

console.log("Hello");
die("Exiting script..."); // Kills script right here
console.log("World!");

上面的例子只打印“Hello”。