我在这里很困惑,当if为真时,它不会回到第一个索引。我不知道为什么我以前做过,但我没有保存在一个安全的地方。现在我花了很多时间寻找解决方案,有人可以帮助我吗?
var digital = document.getElementById("placeDiv").style;
var abc = ["red","blue","green"];
for(var i=0;i<3;i++){
digital.backgroundColor=abc[i];alert(i);if(abc["green"]){i=0};
};
答案 0 :(得分:1)
试试这个:
if(abc[i] === "green")
我不知道你打算做什么。但是你的代码将处于无限循环中。
答案 1 :(得分:1)
这样的结果将是一个无限循环,因为当循环到达数组中的第3个对象时,它将从第1个开始。 如果你想要一个无限循环,那么在(true){}
时使用它会更清晰var digital = document.getElementById("placeDiv").style;
var abc = ["red","blue","green"];
for(var i=0;i<abc.length;i++){
digital.backgroundColor=abc[i];
alert(i);
if(abc[i]=="green"){
i=0;
}
}
答案 2 :(得分:1)
不确定你要做什么,但也许你想要的是:
if (abc[i] === "green") {
但请记住,即使在满足此条件时我被重置为0,它也会在循环顶部立即升至1。然后你将处于一个无限循环中,我从1变为2然后再返回。
答案 3 :(得分:1)
您需要切换到while循环。目前,您将最终得到一个循环计数器,在第一次执行后永远不会低于1。您将i设置为0但是当循环结束时它会增加。我使用if-then测试将代码更改为while循环,以增加循环计数器或将其设置为零。它现在对我来说很好。
var i=0;
while (i<3){
digital.backgroundColor = abc[i];
//alert(i);
if(abc[i] === "green"){
i=0
} else {
i++;
}
}