[英]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.