繁体   English   中英

Javascript难以理解要在脚本中使用的IF循环

[英]Javascript trouble understanding IF loop to use in a script

我是javascript的新手,正在为网站使用tampermonkey。 我想做的是监视页面上的变量,当所说的变量达到某个值时,转到另一页,执行某些操作,然后重新检查该变量的值。

我的逻辑是:

setInterval(function(){reloadPage1},10000);
var variable = someTextonThisPage;
if(someTextonthisPage meets condition)
{
    go to Page2;
    execute something on page 2;
    setNewValueForVariable; //(or just go back to initial 
    //and get the new value from there)
}

现在我的问题是,如果if执行,即使我将变量设置为false,它也会进入page2循环循环if调用。

我尝试做类似的事情:

function doThis()
{
   if(condition)
      return true;
   else return false;
}

if(doThis())
{
    goToPage2;
    do stuff;
    doThis();
}

我最终继续执行if语句,转到第2页,由于该if的下一次迭代,我在该页上执行操作的settimeouts从未执行。

我的思维方式在做什么严重的错误?

您的doThis()函数是正确的。 一切正常。

function doThis()
{
    if(condition)
        return true;
    else 
        return false;
}

但是,当您检查循环时,只需调用一次即可。 完成操作后,您再次调用doThis()函数,这是错误的。

if(doThis())
{
    goToPage2;
    do stuff;
    //doThis();
}

而且还取决于您如何调用此循环和函数。

例如

<script>
    var i = 0;
    onPageLoad()
    {
        if(i%2==0){
            return true;
            i++;
        }else{
            return false;
            i++;
        }
    }

    if(onPageLoad()){
        goToPage2;
        doStuff();
    }else{
        onPageLoad()
    }
</script>

在这里,当条件满足正确的语句i%2 == 0 ,它将自动调用goToPage2函数,否则它将再次检查条件。

您可以在循环中添加interval/timeout ,以检查变量何时更新以及何时调用goToPage2函数。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM