当我试图回答这个问题时,我遇到了一个奇怪的行为(与他的不同:他的是由于迭代次数太少,我的是由于迭代次数太多):
HTML:
HTML:
<button id="go">it will be legend...</button>
<div id="output"></div>
JS:
var output = document.getElementById('output');
document.getElementById('go').onclick = function() {
output.textContent += 'wait for it...';
for (var i=0; i<3000000000; i++) {
var unused = i; // don't really care
}
output.textContent += ' dary!';
};
由于其中有 30 亿次的迭代,循环需要几秒钟来执行。
一旦按钮被点击,我期望的是:
- 出现“等待......”
- 由于循环,进程会稍微冻结一下
- 出现“Dary!”
实际发生的情况:
- 由于循环,进程会稍微冻结一下
- “等待... Dary!”一起出现
任何想法为什么会发生这种行为?
请自行检查:fiddle。