Javascript setInterval在运行用户脚本时使浏览器崩溃?
好的,所以脚本可以工作,但是setInterval在30秒左右的时间后一直破坏我的浏览器。 至少我认为这就是正在发生的事情 代码如下:Javascript setInterval在运行用户脚本时使浏览器崩溃?,javascript,crash,setinterval,userscripts,Javascript,Crash,Setinterval,Userscripts,好的,所以脚本可以工作,但是setInterval在30秒左右的时间后一直破坏我的浏览器。 至少我认为这就是正在发生的事情 代码如下: var count = 0; setInterval(function() { var ifLose = document.getElementById('result-text').innerHTML; if (ifLose.length > 4) { count++; document.g
var count = 0;
setInterval(function()
{
var ifLose = document.getElementById('result-text').innerHTML;
if (ifLose.length > 4)
{
count++;
document.getElementById("bet-multiplier").click();
document.getElementById("bet-bt").click();
}
else
{
for (count > 0; count--;)
{
document.getElementById("bet-divider").click();
}
document.getElementById("bet-bt").click();
}
}, 1000);
我做错了什么?
它是否与计数和for循环有关?
非常感谢您的帮助 这一行是你的问题(或至少是问题的一大部分):
第一次运行计时器处理程序后,“计数”将为-1。这个循环会持续很长时间
你可能想要
for (; count > 0; count--)
循环头的
有三个部分:初始化、测试和。。。第三部分,传统上是迭代控制,但实际上只是一个放置表达式的地方。您的原始代码首先具有测试表达式。这在语法上并不是不正确的,因为JavaScript只需要一个表达式,这样的比较表达式就可以了。然而,它并没有真正起到任何作用。您的版本中的测试表达式是count--
,这在语法上也是正常的,对于测试表达式来说并不是一件坏事。但是,由于间隔处理程序从不将“count”重置为0
,因此一旦将其减至-1,循环将继续进行。谢谢!这为我修正了它:D,所以这只是我语法中的一个问题!你能解释一下这一行和我原来那一行的区别吗?我不确定为什么在我的原稿中计数会是-1code@user1115155好的,我给答案加了一点。谢谢,这样更有意义!你帮了我很多!
for (; count > 0; count--)