我尝试在for循环中使用while循环,但每当我尝试这样做时,我的浏览器崩溃了。我知道当循环无限时会发生这种情况,但我似乎无法弄清楚原因。
for(i=0;i < 2; i++)
{
console.log("hello");
while(i < 2)
{
console.log("it's me");
}
}
答案 0 :(得分:4)
你永远循环while循环,因为i
保留了值,并且永远不会在里面更改。
我认为你可以使用更好的if语句来获得额外的输出。
var i;
for (i = 0; i < 2; i++) {
console.log("hello");
if (i < 2) {
console.log("it's me");
}
}
答案 1 :(得分:3)
The problem is the while loop, once i
becomes 0, it will never come out of the while loop.(Since it is less than 2)
Possible solutions:
SOLUTION 1: Remove the while loop present inside the for loop
SOLUTION 2: Handle inside the while, and break after doing something
for(i=0;i < 2; i++)
{
console.log("hello");
while(i < 2)
{
console.log("i < 2");
break;
}
}
SOLUTION 3: Change the value of i >=2 inside the while loop, so that, the loop breaks
答案 2 :(得分:1)
发生的事情是你的while循环永无止境; i的值永远不会在循环内部发生变化,因此循环会永远持续下去。
当我在for循环中&lt;时,你想要做的就是记录消息“它是我”。 2.在这种情况下,您可以使用简单的if语句,以便您的代码读取如下内容:
for(var i=0;i<2;i++){
console.log("hello");
if(i<2) console.log("it's me");
}
我建议使用数值并进行测试,以更好地了解JS语法的工作原理。
答案 3 :(得分:0)
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");
}
}
如果要在while部分循环,请使用secon变量将其更改为以下内容。
for(i=0;i < 2; i++)
{
console.log("hello");
j=0;
while(j < 2)
{
j++;
console.log("it's me");
}
}