JS具有阻塞特性,当浏览器在执行js代码时,不能同时做其它事情,即
由于,JS的这种阻塞特性,每次遇到
1 优化脚本位置
HTML4规范中,
注意:CSS文件本身是并行下载,不会阻塞页面的其他进程。但是,如果把一段内嵌脚本放在引用外链CSS的之后会导致页面阻塞去等待CSS的下载。这样做是为了确保内嵌脚本在执行时能够获得正确的样式信息。所以,最好不要把内嵌脚本放在CSS的之后。
2 减少外链脚本数量以改善性能
原因很简单,额外的HTTP请求会带来额外的开销,所以减少页面中外链脚本的数量,有助于改善性能。
3 使用无阻塞下载JS方法
无阻塞脚本的秘诀在于,在页面加载完成后才加载JS,即在window对象的load事件触发后在下载脚本。
3.1 使用
defer属性指明本元素所含的脚本不会修改DOM,因此代码能安全的延迟执行。defer属性的
DeferredScriptsalert("defer");
alert("script");
window.onload = function() {
alert("load");
};