for循环中为什么内容不是一个一个的显示出来而是是一起出来的?

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>

    <body>
        <input type="text" id="t" value="" />
        <input type="button" id="obtn" value="创建" onclick="text()" />
        <div id="content">

        </div>
        <script type="text/javascript">
            var i = 0;
            function text() {
                for(var i = 0; i < 10; i++) {
                    var div = document.createElement("div");
                    div.innerHTML = i;
                    document.getElementById("content").appendChild(div);
                    alert(i);
                }
            }
        </script>
    </body>

</html>

在一个js程序线程执行过程中,页面内容是不会更新渲染的。
只有当js程序线程执行结束,页面内容才会更新渲染。

不过,在ie浏览器或者低版本的谷歌浏览器中alert()弹出对话框时也会更新渲染,但高版本的谷歌浏览器不会这样

因为js的线程不是独立的,操作document也不是独立的,所以不能一个个出来。

包括使用settime或者setinterival都不行。

webworker或许能做到一个个出来,你可以试一试