非阻塞脚本加载

时间 : 14-08-19 评论 : 0 点击 : 1,047 次

# 前言
script标签是阻塞的。当浏览器遇到script标签,就会停止页面解析,直到script标签被处理完成:1、如果是文件,文件被加载完毕,文件内包含的代码被执行完成。2、如果是代码,代码被执行完成。
如果用多个script标签加载多个js文件,现在主流浏览器均支持多线程并发加载多个js文件,假如有2个script标签先后引入1.js、2.js,浏览器并发发起2个http请求,即使2.js先于1.js加载完成,2.js的代码依然会在1.js的代码执行之后才执行,这一机制保证了代码执行顺序是可预期的。在1.js和2.js代码被执行完成之前,其后的js代码不会被执行、html代码不会被渲染。

# 古老的defer
使用语法如下:``
对应的JavaScript 文件将在`