1. 由于脚本会阻塞页面其他资源的下载,因此推荐将所有的<script>标签尽可能放到<body>标签的底部,以尽量减少对整个页面下载的影响。
2. 一段内嵌脚本放在引用外链样式表的<link>标签之后会导致页面阻塞去等待样式表的下载。这样做是为了确保内嵌脚本在执行时能获得最准确的样式信息。因此永远不要把内嵌脚本紧跟在<link>标签后面。
3.HTTP请求会带来额外的性能开销,因此下载单个的100KB文件要比下载4个25KB的文件更快,也就是说,减少页面中外链脚本文件的数量将会改善性能。(较大的javascript文件除外)
4.在<script>标签中使用defer属性:<script type="text/javascript" src = "file1.js" defer></script> 。defer属性指明本元素所含的脚本不会修改DOM,因此代码能安全地延迟执行。IE4+和Firefox 3.5+的浏览器支持。
5.动态加载脚本
function loadScript(url, callback) {
var script = document.createElement("script")
script.type="text/javascript";
if (script.readyState) {
scirpt.onreadystatechange = function() {
if (script.readyState == "loaded" || script.readyState == "complete"){
script.onreadystatechange = null;
callback();
}
};
} else {
script.onload = function() {
callback();
};
}
scirpt.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
}