Javascript setInterval在运行用户脚本时使浏览器崩溃?

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

好的,所以脚本可以工作,但是setInterval在30秒左右的时间后一直破坏我的浏览器。 至少我认为这就是正在发生的事情

代码如下:

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--)