5

これは私を当惑させるので、まったくの好奇心からの質問です。私はUbuntu 12.04を使用しており、Firefox 19.0.2およびChromium 25.0.1364.160でこれを試しました。次の 2 つの JavaScript コードを見てください (これらは、より大きなコードの抜粋です)。

var Div = document.createElement('div');
var limit = 5;

var i = 0;
while (i<limit){
    var img = document.createElement('img');
    img.setAttribute('src', anImage);
    Div.appendChild(img);
    i++;
}
return Div;

var Div = document.createElement('div');
var limit = 5;

for (i=0; i<limit; i++){
    var img = document.createElement('img');
    img.setAttribute('src', anImage);
    Div.appendChild(img);
}
return Div;

「for」ループがブラウザをフリーズさせている間、「while」ループは期待どおりに機能するようになりました。なぜそれをするのですか?違いはどこにありますか?

Interwebs で同様のケースを探しましたが、完璧な答えとして突き出たものはありませんでした。ここに似たものがありますが、まったく同じではありません。

ループ構造で DOM に要素を追加する

For ループは Javascript をフリーズしますか?

実際、2番目のものは、最初にwhileループを試すというアイデアを与えてくれましたが、なぜそれが違いを生むのか説明されていません...

明確にしていただきありがとうございます:)

4

0 に答える 0