影响js性能几种情况
一.影响js性能
1.for循环
for()语句性能优于for(…in…)语句
2.重复创建
避免重复创建函数,避免使用闭包。推荐使用prototype追加方法
3.判断是否有方法
判断一个js对象是否支持某个属性或方法时使用if(typeof(person.attr)!=‘undefined’) ,考虑到当person.attr=null,0,false的情况
4.根据name获取span
在IE中根据name属性取得SPAN元素:w3c规范中getElementsByName是按着name属性进行检索的,而MS的IE却是按着id来检索,导致不能得到应该得到的Elements。可用getElementsByTagName后再getAttribute(“name”)判断。
5.字符串所占个数
得到字符串所占的字符个数: if (intCode>=0&&intCode<=128) { totallength=totallength+1;//非中文单个字符长度加 1}else{ totallength=totallength+2; //中文字符长度则加 2}
6.原始数据类型
原始类型(string,number,boolean,null,undefined):值; 复合类型(object,array,function):访问地址
7.使用{}创建对象
8.使用[]创建对象
使用[]创建数组,如果你不知道数组长度,使用Array#push。当你需要复制数组的时候,请使用Array#slice。
9.对于字符串,使用单引号’
10.字符串拼接
字符串拼接,可以使用Array#join。尤其是对IE浏览器。
11.不要再非函数块声明函数
绝对不要在非函数块(if,while)申明一个函数。可以把函数申明变成一个函数表达式 var test = function test(){…}
12.使用点
访问属性使用点(.)操作符, 当以变量的方式访问属性的时候,用下标符号([])。——除非特殊需求,否则尽量避免使用obj[variable]的方式进行属性访问。
13.var定义多个变量
使用一个var定义多个变量,每个变量在一个新行上,把不进行赋值的变量放置到最后
14.在选择时,最好以ID选择符作为开头
15.尽量少用选择符,而使用逗号
16.循环多次
在循环次数很多时避免使用$().each,而使用for循环
17.尽量减少对DOM的操作
18.参数是js对象
如果参数可以是JS对象,尽量使用对象:$(“div”).css({ “display”: “block”, “background-color”: “blue” });。