js性能优化

来源:互联网 发布:外包软件开发管理 编辑:程序博客网 时间:2024/05/06 21:07

js优化

1、js的循环,循环是一种常用的流程控制。js提供了三种循环:for()、while()、for(in)。这三种循环中for(in)效率最差,因为它需要查询hash键。因此少用for(in)循环。推荐使用for循环,如果循环变量递增递减,不要单独对循环变量赋值,而应该使嵌套的++或–运算符。
2、如果需要遍历数组,应该先缓存数组长度,将数组长度放入局部变量中,避免多次查询数组长度。
3、局部变量的访问速度要比全局变量的访问速度更快,因为全局变量是window对象的成员,而局部变量放在函数的栈里。
4、尽量少用eval,每次使用eval需要消耗大量时间,使用js闭包实现函数模板。
5、尽量避免对象的嵌套查询,对于obj1,obj2,obj3,obj4,至少进行3次查询操作,尽量利用局部变量将obj4以局部变量保存,从而避免嵌套查询。
6、使用运算符时,尽量使用+=,-=,*=,等运算符,而不是直接进行赋值运算。
7、当将数字转换成字符串时,采用以下方式:string()、tostring()、new string()。string()属于内部函数,速度很快,而tostring()要查询原型中的函数,所以慢一些,new string()需要重新创建一个字符串对象,速度最慢。
8、当需要将浮点数转换成整形时,应该使用Math.floor()或者Math.round().而不是使用ParseInt(),该方法用于将字符串转换成数字,而且Math是内部对象,速度最快。
9、尽量使用json格式来创建对象,而不是Var obj=new object()方法。因为json是直接复制,后者需要调用构造器,因而前者性能更好。
10、当需要使用数组时,也尽量使用json格式的语法,直接使用[parm,parm,….],而不是采用new Array(parm,parm,parm….)这种语法。因为json格式的语法是引擎直接解释的。而后者则需要调用Array的构造器。
11、对字符串进行循环操作,列如替换,查找,就是用正则表达式,js循环速度快,正则表达式的操作是c写的API,性能较好。对于大的js对象。因为创建时间和空间的开销比较大,因此应该尽量考虑采用缓存。

0 0
原创粉丝点击