2

好的,所以脚本可以工作,但 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 循环有关吗?任何帮助是极大的赞赏!

4

1 回答 1

2

这条线是你的问题(或至少是问题的很大一部分):

    for (count > 0; count--;) 

在计时器处理程序第一次运行后,“count”将为-1。这个循环将持续很长时间。

你可能想要

    for (; count > 0; count--)

循环头for包含三个部分:初始化、测试和......呃,第三部分,传统上是您进行迭代控制的地方,但实际上只是放置表达式的地方。您的原始代码首先具有测试表达式。这在语法上并没有错,因为 JavaScript 只需要一个表达式,而像这样的比较表达式就可以了。然而,它并没有真正做任何事情。您版本中的测试表达式是count--,这在语法上也可以,对于测试表达式来说并不是一件坏事。但是,由于间隔处理程序从不将“计数”重置为0,因此一旦将其递减为 -1,循环将继续进行。

于 2013-09-27T21:32:58.197 回答