这是一个纯粹出于好奇的问题,因为它让我感到困惑。我在 Ubuntu 12.04 上,我在 Firefox 19.0.2 和 Chromium 25.0.1364.160 上试过这个。查看以下两段 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;
现在'while' 循环按预期工作,而'for' 循环冻结浏览器。为什么这样做?区别在哪里?
我在 Interwebs 上寻找了一个类似的案例,但没有一个是完美的答案。这里有类似的,但不完全相同。
实际上,第二个给了我首先尝试一个while循环的想法,但它从未被解释过,为什么它会有所作为......
感谢您的任何澄清:)