js 提高性能

js 提高性能

尽量少访问dom,尽量减少标记

访问dom的方式会对脚本性能产生非常大的影响,只要是查询dom中的某些元素,浏览器都会搜索整个dom树,从中查找可能匹配的元素。

  1. 在需要对一个dom对象数组循环时,只调用一次查询dom的方法。
var aDomArr = document.getElementsByTagName('a');
if(aDomArr.length > 0){
	for(var i=0; i< aDomArr.length; i++){
		aDomArr[0].href='www.baidu.com';
	}
}
  1. 在多个函数都会取得一组类似元素的情况下,可以考虑重构代码,把搜索结果保存到一个变量里,或者把一组元素直接以参数形式传递给函数。
  2. 减少不必要的标记,如<div></div>;过多不必要的元素只会增加dom树的规模,进而增加遍历dom树查找某些元素的时间。

合并和放置脚本

一般来说,根据HTTP规范,浏览器每次从同一域名中最多只能同时下载两个文件。而在下载脚本期间,浏览器不会下载其他任何文件,即使是来自不同域名的文件也不会下载,所有其他资源都要等脚本加载完毕后才能下载。

  1. 使用外部脚本文件,浏览器能对站点中的多个页面重用缓存过的相同脚本。
  2. 能合并在一起的js代码,就尽量放在同一个js文件中,减少加载页面时发送的请求数量。
  3. 把所有<script>标签都放在文档的末尾,</body>标签之前,就可以让页面变得更快。

用工具压缩脚本

通常,为了与有可读性的js文件区分开来,压缩后的js脚本的文件名要加上min。网上有很多在线压缩js脚本的网站。

最好用外部js文件去控制网页的行为,避免使用document.write方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值