Javascript 而for循环中的循环不起作用
我尝试在for循环中使用while循环,但每次尝试这样做时,我的浏览器都会崩溃。我知道循环无限大时会发生这种情况,但我似乎不明白为什么Javascript 而for循环中的循环不起作用,javascript,Javascript,我尝试在for循环中使用while循环,但每次尝试这样做时,我的浏览器都会崩溃。我知道循环无限大时会发生这种情况,但我似乎不明白为什么 for(i=0;i < 2; i++) { console.log("hello"); while(i < 2) { console.log("it's me"); } } (i=0;i
for(i=0;i < 2; i++)
{
console.log("hello");
while(i < 2)
{
console.log("it's me");
}
}
(i=0;i<2;i++)的
{
console.log(“你好”);
而(i<2)
{
log(“是我”);
}
}
发生的是你的while循环永远不会结束;i的值在循环中从不改变,因此循环将永远持续
也许你想做的是在for循环中,当我<2时,记录消息“是我”。在这种情况下,您可以使用一个简单的if语句,这样您的代码可以如下所示:
for(var i=0;i<2;i++){
console.log("hello");
if(i<2) console.log("it's me");
}
for(var i=0;i将永远循环while循环,因为i
保留该值,并且在内部从未更改
我认为您可以使用更好的if语句来获得额外的输出
vari;
对于(i=0;i<2;i++){
console.log(“你好”);
如果(i<2){
log(“是我”);
}
}
用于(i=0;i<2;i++)
{
console.log(“你好”);
而(i<2)
{
//一旦输入该块,i的值将永远不会改变,条件也不会改变
//这永远是真的。
log(“是我”);
}
}
如果要在while部分中循环,请使用secon变量将其更改为如下内容
for(i=0;i < 2; i++)
{
console.log("hello");
j=0;
while(j < 2)
{
j++;
console.log("it's me");
}
}
(i=0;i<2;i++)的
{
console.log(“你好”);
j=0;
而(j<2)
{
j++;
log(“是我”);
}
}
问题在于while循环,一旦i
变为0,它就永远不会从while循环中出来。(因为它小于2)
可能的解决方案:
解决方案1:移除,而的循环中存在
解决方案2:在中间处理,在做某事后中断
for(i=0;i < 2; i++)
{
console.log("hello");
while(i < 2)
{
console.log("i < 2");
break;
}
}
(i=0;i<2;i++)的
{
console.log(“你好”);
而(i<2)
{
控制台日志(“i<2”);
打破
}
}
解决方案3:在while循环中更改i>=2的值,这样循环就会中断,因为i
在while
循环中没有更改,所以这个循环永远不会停止。您希望while
循环什么时候停止?您是指if
?还是希望控制台的总体输出是什么?它是n曾经停止过,因为我在你的循环中永远不会大于2,你的浏览器将变得无响应。你需要将“while”更改为“if”,然后它可能会执行你想要的操作…谢谢伙计们,我想我可以使用for循环中的i。感谢伟大的解释,我没有想过while循环会被卡住,所以我不会++
for(i=0;i < 2; i++)
{
console.log("hello");
while(i < 2)
{
console.log("i < 2");
break;
}
}