虽然for循环内部的循环无法正常工作
我试图在for循环中使用while循环,但是每次尝试时都会导致浏览器崩溃。我知道这发生在循环无限时,但我似乎无法弄清楚为什么。虽然for循环内部的循环无法正常工作
for(i=0;i < 2; i++)
{
console.log("hello");
while(i < 2)
{
console.log("it's me");
}
}
问题是while循环,一旦i
变为0,就再也回不来了while循环的(因为它是小于2)
可能的解决方案:
解决方案1 :删除而循环目前循环
SOLUTION 2:处理而内部,并且做一些
for(i=0;i < 2; i++)
{
console.log("hello");
while(i < 2)
{
console.log("i < 2");
break;
}
}
解决方案3之后打破:更改I的> = 2的while循环中的值,使得在环断裂
感谢伟大的解释,没有想过while循环被卡住,所以我不会++ –
发生什么事是你的while循环永远不会结束;我的价值永远不会在循环内部发生变化,所以循环会一直持续下去。
也许你在做的是记录消息“这是我”,当我,在for循环,是< 2.在这种情况下,你可以使用一个简单的if语句,这样你的代码读取类似这个:
for(var i=0;i<2;i++){
console.log("hello");
if(i<2) console.log("it's me");
}
我建议玩弄数字值并测试它以获得更好的JS语法工作方式。
您永远循环while循环,因为i
保持该值并且永远不会在内部进行更改。
我想你可能会使用更好的if语句来获得额外的输出。
var i;
for (i = 0; i < 2; i++) {
console.log("hello");
if (i < 2) {
console.log("it's me");
}
}
谢谢,定时器后会接受你的答案! –
for(i=0;i < 2; i++)
{
console.log("hello");
while(i < 2)
{
//Once this block is entered, value of i is never changed and the condition
//is always true.
console.log("it's me");
}
}
将其更改为类似下面使用塞康变量,如果要循环中,而部分。
for(i=0;i < 2; i++)
{
console.log("hello");
j=0;
while(j < 2)
{
j++;
console.log("it's me");
}
}
由于'i'在while循环中没有改变,这个循环永远不会停止。 – Titus
你什么时候预期'while'循环停止?你是不是指“如果”?或者你想要什么样的整体调音台输出? – Bergi
它永远不会停止,因为我永远不会在循环中超过2,并且您的浏览器将无响应。 –