1、在低版本的
浏览器(例如IE6,IE7,等),使用阵列的
连接方法比使用+号要有效得多,如{ 'AAA',{BBB},CCC}。加入(),这是更有效的than'aaa + {BBB} + CCC。
2,数组:
流行比转移更有效,并将比
位置更有效。这对于一个二叉堆的结构设计是非常重要的,这是最好放置在具有最大或最小的数组的结束。
3,数字积分移位
操作的最佳应用:
1.1 > 0;
4。使用直接量
创建数组和对象:
var = { };
var;
5,对象级别不应该嵌套太多,以减少对象的查找。
不要使用a.b.c.d.e,这样得到E的对象。
6,键值对应于值。与开关盒相比,按键值对应于开关盒,所有浏览器都测试过了。
7、如果你使用JQ,有$('xxxx)。空()。追加(' xxxxxxx ');和$(' xxxxx)。Html(xxxxx),其结果是$('xxxx)。空()。追加(空);赢得第
地址是小实验。
8、循环
在Javascript中,我们可以使用(())三个循环。,而()和(in)。在三个循环中,for(in)的效率非常低,因为他需要
查询散列键,只要我们能够,我们应该尽可能少地使用它们。for(for;)和while循环的
性能应该与基本(通常使用)相当。
如果循环变量递增或递减,而不是循环变量赋值,则在使用嵌套++或-
运算符时应该是最后一次读取。
如果要比较数组的长度,应该将数组中的长度
属性放在一个局部变量中,以减少查询的数量。
9,局部变量和全局变量
局部变量的
速度比全局变量快,因为全局变量实际上是全局对象的成员,而局部变量放在
函数栈中。
10。不要使用eval
使用eval调用解释器引擎的内容在
运行时重新运行它需要很多时间。此时,函数模板可以使用
支持Javascript闭包(为
关闭,内容指的是函数式编程的相关内容);
11、字符串连接
如果它是一个额外的字符串,最好使用+ = anotherstr操作而不是使用S = S + anotherstr;
12。将数字
转换为字符串,应用++ 1,虽然看起来很难看,实际上在性能上是最高的效率:
(+)>字符串()>。ToString()>新的字符串()
这与下面的直接量有点类似,您可以在编译时使用的内部操作要比运行时使用的
用户操作快。
String()属于内部函数,所以速度很快,and.tostring()需要在原型函数查询,所以速度较低。新的字符串()用于返回确切的副本。
13,浮点数被转换为整数,这是更容易出错的。很多人喜欢使用parseInt()。事实上,parseInt()是用于将字符串转换为数字代替浮点数和整数之间的转换。我们应该用math.floor()或Math.round()。
14。字符串的遍历操作
字符串的循环操作,如
替换和查找,应该使用正则表达式,因为Javascript本身的循环速度很慢,而正则表达式的操作是用C编写的api,其性能非常好。
15、定时器
如果代码运行,setTimeout不应该被使用,但它应该是setinterval.settimeout重置定时器每次;
在更新…请期待它!