forループ内でwhileループを使用しようとしましたが、毎回これを試みるとブラウザがクラッシュします。私はループが無限であるときにこれが起こることを知っていますが、私は理由を理解できないようです。forループ内のwhileループは動作しません
for(i=0;i < 2; i++)
{
console.log("hello");
while(i < 2)
{
console.log("it's me");
}
}
forループ内でwhileループを使用しようとしましたが、毎回これを試みるとブラウザがクラッシュします。私はループが無限であるときにこれが起こることを知っていますが、私は理由を理解できないようです。forループ内のwhileループは動作しません
for(i=0;i < 2; i++)
{
console.log("hello");
while(i < 2)
{
console.log("it's me");
}
}
問題はi
が0になると、それはwhileループから出てくることはありません、whileループである(それが2未満であるので)
考えられる解決策:
液1:ループ
ため 内部 whileループの存在を削除SOLUTION 2:しばらくインサイドハンドル、そして何か
for(i=0;i < 2; i++)
{
console.log("hello");
while(i < 2)
{
console.log("i < 2");
break;
}
}
SOLUTION 3やった後破る:、ループは
を破るように、whileループ内でI> = 2の値を変更しをありがとうすばらしい説明、whileループがついているとは考えていないので、私はそうしません++ –
あなたのwhileループは決して終わりません。私はループの中で決して変化しないので、ループは永遠に続く。
多分、forループで私が<だったときにメッセージ "ログオン"を記録していたかもしれません。その場合、単純なif文を使用して、これは
for(var i=0;i<2;i++){
console.log("hello");
if(i<2) console.log("it's me");
}
JSの構文がどのように機能するかを理解するために数値の値を試してテストすることをおすすめします。
i
は値を保持し、内部では決して変更されないので、whileループは永遠にループします。
追加の出力を得るには、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");
}
}
あなたはしばらくのセクションでループしたい場合はseconの変数を使用して、以下のようなものに変更し、それを。 。
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以上になることは決してありません。あなたのブラウザは応答しなくなります。 –