为什么这个循环 return 不到第一个索引?
Why doesn't this loop return to the first index?
我在这里很困惑,当 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};
};
试试这个:
if(abc[i] === "green")
我不知道你打算做什么。但是您的代码将处于无限循环中。
这将是一个无限循环,因为当循环到达数组中的第 3 个对象时,它将再次从第 1 个开始。
如果你想要一个无限循环,使用 while(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;
}
}
不确定您要做什么,但也许您想要的是:
if (abc[i] === "green") {
但请记住,即使满足此条件时 i 被重置为 0,它也会在循环顶部立即上升到 1。然后你会进入一个无限循环,我从 1 到 2 然后再返回。
您需要切换到 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++;
}
}
我在这里很困惑,当 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};
};
试试这个:
if(abc[i] === "green")
我不知道你打算做什么。但是您的代码将处于无限循环中。
这将是一个无限循环,因为当循环到达数组中的第 3 个对象时,它将再次从第 1 个开始。 如果你想要一个无限循环,使用 while(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;
}
}
不确定您要做什么,但也许您想要的是:
if (abc[i] === "green") {
但请记住,即使满足此条件时 i 被重置为 0,它也会在循环顶部立即上升到 1。然后你会进入一个无限循环,我从 1 到 2 然后再返回。
您需要切换到 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++;
}
}