摘要:首先将对象引用存储到局部变量中,全局变量的访问减少,当有很多全局变量被反复访问时,这种方法对性能的改善是很明显的。
javascript加载和运行 1. 脚本位置
尽管浏览器已经允许并行下载javascript文件,但是javascript下载过程仍然会阻塞其他资源的下载,如图片。页面仍然需要等待所有javascript代码下载并执行完成才能继续所以优化javascript的首要原则:将脚本放在底部(之前)
2. 组织脚本每个标签初始下载都会阻塞页面渲染,所以减少页面包含的标签数量有助于改善这一情况。考虑到到HTTP请求会额外带来性能的开销。下载单个100B的文件比下载4个25B的文件更快。所以,减少页面中外链脚本文件的数量会改善性能。
3. 无阻塞的脚本延迟的脚本:带有defer属性的标签,需要浏览器支持
动态脚本元素:在跨浏览器兼容性和易用的优势,是最通用的无阻塞加载解决方案
XMLHttpRequest注入:先创建一个XHR对象,然后用她下载javascript文件,最后通过创建动态元素将代码注入页面中
var xhr = new XMLHttpRequest(); xhr.open("get","file.js",true); xhr.onreadystatechange = funtion(){ if(xhr.readyState == 4){ if(xhr.status>=200&&xhr.status<300||xhr.status==304){ var script = document.creatElement("script"); script.type="text/javascript"; script.text=xhr.responseText; document.body.appendChild(script); } } }; xhr.send(null); //由于代码是在