Javascript 为什么无限while循环会阻止上面的内容?

Javascript 为什么无限while循环会阻止上面的内容?,javascript,Javascript,我知道无限循环会阻止它下面的内容,但是为什么它会阻止标记上面的内容呢 代码如下: Lorem ipsum door sit amet,一位杰出的领导者。 while(true){} Lorem ipsum dolor sit amet,是一位杰出的献身者。 解析每个节点后,浏览器不会重新绘制DOM。这将是低效的。它只定期运行更新 while循环会阻塞所有内容,包括那些定期更新。来自@Quentin的答案解释了阻塞行为 考虑以下两组代码: Message 1 <script> func

我知道无限循环会阻止它下面的内容,但是为什么它会阻止
标记上面的内容呢

代码如下:

Lorem ipsum door sit amet,一位杰出的领导者。
while(true){}
Lorem ipsum dolor sit amet,是一位杰出的献身者。

解析每个节点后,浏览器不会重新绘制DOM。这将是低效的。它只定期运行更新


while循环会阻塞所有内容,包括那些定期更新。

来自@Quentin的答案解释了阻塞行为

考虑以下两组代码:

Message 1
<script>
function loopForever() {while (true) {}; }
setTimeout(loopForever,1);//a wait time of 0 forces a repaint on Chrome and Edge but not on Firefox
</script>

Message 2
消息1
函数loopForever(){while(true){};}
setTimeout(loopForever,1)//等待时间为0会强制在Chrome和Edge上重新绘制,但在Firefox上不会
信息2
  • 消息1
    函数loopForever(){while(true){};}
    永远循环();
    信息2
    
    在第一条消息中,在风扇旋转之前,屏幕上会出现消息1和消息2,此时您处于无限循环中。在第二个没有消息出现的循环中,直接进入无限循环,没有显示任何DOM

    Message 1
    <script>
    function loopForever() {while (true) {}; }
    loopForever();
    </script>
    Message 2