<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div style="background-color: red;">
显示
</div>
<script>
alert("aa");
</script>
</body>
</html>
上面的代码按照道理是先显示出div的内容,再alert,但是实际上是先alert的,然后显示的div的内容,这是因为:div加载到页面需要时间,还没等加载到页面就执行到alert了,此时alert会阻塞线程,这里阻塞的是GUI渲染线程.所以等alert执行完毕后这个线程才会继续执行,将div内容显示到页面上.
本文探讨了HTML与JavaScript在浏览器中的执行顺序问题。通过一个简单的示例说明了为何JavaScript的alert函数会在HTML元素渲染之前执行,揭示了GUI渲染线程被阻塞的现象及其原因。

2082

被折叠的 条评论
为什么被折叠?



