基于相关的调研, 我的理解为, 对于一个URI请求, 浏览器会按照下面的请求和执行顺序进行:
一个线程对DOM进行下载(也就是html, 而不去管html中的外部资源)
另外一个线程会开始分析已经下载的...3: 6
Opera 9.26: 4
Opera 9.5 beta: 4
Safari 3.0.4 Mac/Windows: 4
IE 7: 2
IE 8: 6
所以请根据这个实际情况来思考上面的下载顺序...然后我们看执行顺序(js的执行, css的应用等):
只要浏览器"看到了"了js代码,它就会执行
浏览器是从下到下,一行一行地执行
如果js代码位于一个函数或者对象中,则只有当函数或者对象被调用时才会执行...而所谓的direct code(不处于函数或者对象中的代码),则会从上到下顺序执行
当css文件下载完成时, 相应的样式也会应用到DOM上
onload或者jquery的$(document).ready...你可能会奇怪如果js可以并行下载,那么可能位于DOM下面的代码会先执行, 首先可以肯定的是 即使下面的js先完成下载,也不会影响到整体的从上到下的执行顺序,浏览器会维护这种顺序的关系, chrome的这种方式也是未来浏览器的一种趋势