我需要一个能退出js脚本的代码,就像PHP'exit'或'die'一样.(我知道它不是最好的编程实践,但我需要它).
我可以在我的Apps脚本应用程序中使用die() (在php中)吗?我用Google搜索了这个问题,最可接受的解决方案是抛出新错误,但在这种情况下我不希望收到有关脚本崩溃的通知(因为我不是唯一接收它们的人).
我只是想终止脚本.
有一个对象来存储数据。
var store = {
elements: [],
eventsEnabled: true,
addElement: function(element) {
this.elements.push(element);
if (this.eventsEnabled) {
// Code that triggers event, calls handlers... whatever
}
}
};
Run Code Online (Sandbox Code Playgroud)
存储数据的行为来自两个事件(类似于两个生产者)。第一个“生产者”不会触发任何事件:
setInterval(function() {
store.eventsEnabled = false;
store.addElement('hello');
store.eventsEnabled = true;
}, 12000);
Run Code Online (Sandbox Code Playgroud)
第二个确实触发事件:
setInterval(function() {
store.addElement('bye');
}, 7000);
Run Code Online (Sandbox Code Playgroud)
问题是,第二个生产者能否打破第一个生产者的执行流程?
我的意思是,如果生产者 1 禁用事件,并且在完成执行之前(因此在再次启用事件之前),生产者 2 开始执行并添加其元素,则不会触发任何事件。那可能吗?那会发生吗?
如果是这样,如何将此代码转换为某种线程安全?
我们需要exit;在php中重定向之后做,因为exit;不会阻止其余的代码运行.但是为什么我们不在javascript中做那样的事情.我想做点什么
if(window.location.replace("http://something.com")){
return;
}
Run Code Online (Sandbox Code Playgroud)
要么
window.location.replace("http://something.com");
throw "stop the execution.";
Run Code Online (Sandbox Code Playgroud)
我需要那样做吗?如果不是为什么?
我需要在打字稿上重写我的tampermonkey 脚本。
在打字稿上重写此 javascript 的正确方法是什么?
if (window.top != window.self ) {
return;
}
Run Code Online (Sandbox Code Playgroud)主要目标是如果脚本不在 window.top 中运行,则停止执行脚本。
Typescript 编译器写入错误 TS1108:“return”语句只能在函数体内使用。
我正在努力解决这样一个事实:JavaScript 中的控制流不是我所习惯的。不是线性的。有时,当我测试时,当一切都应该停止时,我会收到错误消息“脚本正在减慢您的浏览器速度”。
我花了很长时间寻找这个错误。这次真的很愚蠢,一个变量在达到 350 px 时停止了函数。然后我添加了一种改变速度的方法,有时这个变量在每一步都会增加 3。所以它从来没有达到 350,而是从 348 到 351。
所以我想知道是否有一个“停止!” 命令。有什么办法可以让网页显示保持当前状态,但停止所有正在运行的进程?
javascript ×5
exit ×2
die ×1
jquery ×1
oop ×1
php ×1
redirect ×1
tampermonkey ×1
typescript ×1
userscripts ×1