これは私を当惑させるので、まったくの好奇心からの質問です。私は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 で同様のケースを探しましたが、完璧な答えとして突き出たものはありませんでした。ここに似たものがありますが、まったく同じではありません。
For ループは Javascript をフリーズしますか?
実際、2番目のものは、最初にwhileループを試すというアイデアを与えてくれましたが、なぜそれが違いを生むのか説明されていません...
明確にしていただきありがとうございます:)