我如何退出JavaScript脚本,就像PHP的退出或死亡?我知道这不是最好的编程实践,但我需要这样做。
当前回答
要停止脚本执行而不出现任何错误,可以将所有脚本包含到函数中并执行它。 这里有一个例子: (函数(){ console.log(一); 返回; console.log(两个); }) ();
上面的脚本将只记录一个日志。
在使用前
如果您需要在脚本本身之外读取脚本的函数,请记住(通常)这是行不通的:要做到这一点,您需要使用一个预先存在的变量或对象(您可以将函数放在窗口对象中)。 上面的代码可能是你不想要的:将整个脚本放在一个函数中可能会产生其他后果(例如,这样做,脚本将立即运行,并且没有办法从浏览器开发中修改其部分,正如我所知道的,在Chrome中)
其他回答
这是一个例子, 如果条件存在,则终止脚本。 我使用这个在我的SSE客户端javascript,如果
<script src="sse-clint.js" host="https://sse.host" query='["q1,"q2"]' ></script>
不能直接从JSON解析…
if( ! SSE_HOST ) throw new Error(['[!] SSE.js: ERR_NOHOST - finished !']);
... 总之,总的思想是:
if( error==true) throw new Error([ 'You have This error' , 'At this file', 'At this line' ]);
这将终止/死亡你的javascript脚本
即使在没有句柄、事件等的简单程序中,最好将代码放在主函数中,即使它是唯一的过程:
<script>
function main()
{
//code
}
main();
</script>
这样,当你想要停止程序时,你可以使用return。
带有函数的Wrapp
(function(){
alert('start')
return;
alert('no exec')
})
如果你不关心它是一个错误,可以这样写:
fail;
这将阻止您的主(全局)代码继续进行。 对调试/测试的某些方面很有用。
如果你只是想停止执行更多的代码而不“抛出”任何错误,你可以暂时覆盖window。如cross-exit所示:
function exit(code) {
const prevOnError = window.onerror
window.onerror = () => {
window.onerror = prevOnError
return true
}
throw new Error(`Script termination with code ${code || 0}.`)
}
console.log("This message is logged.");
exit();
console.log("This message isn't logged.");