前言
无论当前 JavaScript 代码是内嵌还是在外链文件中,页面的下载和渲染都必须停下来等待脚本执行完成。JavaScript 执行过程耗时越久,浏览器等待响应用户输入的时间就越长。浏览器在下载和执行脚本时出现阻塞的原因在于,脚本可能会改变页面或 JavaScript 的命名空间,它们对后面页面内容造成影响。
一个典型的例子就是在页面中使用document.write() 。
JavaScript 代码内嵌示例
Source Exampledocument.write("Today is " + (new Date()).toDateString());
当浏览器遇到
脚本位置
HTML 4 规范指出
低效率脚本位置示例
Source ExampleHello world!