Пытаясь ответить на этот вопрос, я встретил странное поведение (это не одно и то же: его из-за слишком немногих итераций, мое слишком много)
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!';
};
Цикл занимает несколько секунд, чтобы выполнить его из-за трехмиллиардных итераций.
После нажатия кнопки, что я ожидал:
-
wait for it...
появляется - процесс немного зависает из-за цикла
-
dary!
появляется
Что на самом деле произошло:
- процесс немного зависает из-за цикла
-
wait for it... dary!
отображается вместе
Любая идея, почему такое поведение?
Проверьте сами: fiddle.