优化js

优化javascript:

1. 循环:

循环我们使用:for(;;),while(),for(in)三种。for(in)的效率比较差,应减少使用。

如果是循环变量递增或递减,应该使用for(vari=arr.length;i>0;i++){}这种形式,即在它最后一次读取的时候使用++或—的字符串,而不要单独对循环变量赋值。

如果多次要与数组的长度比较,应该事先把数组的length属性放入一个局部变量中,减少查询次数,如:for(var i=0,len=arr.length;i>0;i++){…}或for(var i=arr.length;i>0;i--){}这种形式,这样可以减少arr.length的查询次数。

2.局部变量和全局变量:

局部变量的速度要比全局变量快,根据情况多定义局部变量。

3.不使用eval

eval相当于在运行时再次调用解析引擎对内容进行运行,需要消耗大量时间。这时应使用javascript所支持的闭包。

4.较少对象查询次数

如循环中提到的多次与数组长度比较的问题

5.追加字符串应该使用+=

追加字符串:s+=anotherStr,不要使用s=s+anotherStr

连接字符串:s+=a+b+c

6.使用正则表达式

如对字符串执行替换,查找等应使用正则表达式,因为正则表达式是编写好的API,执行效率高。

7.定时器应使用setInterval(,)

如果针对的是不断运行的代码,应使用setInterval(,),而不是使用setTimeout(,)

8.数字转换为字符串

把数字转换为字符串,应该用” ”+1,虽然丑一点,但是执行效率高



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值