编写高性能Javascript代码的N提案

多年来,Javascript在Web应用程序开发的一个重要的角色,但许多开发商往往忽略知识的一些性质,特别是随着计算机硬件的不断升级,开发商觉得优化Javascript的性能是很好的执行效果的效率是不明显的。但是在某些情况下,Javascript代码不优化,势必会影响到用户的体验。因此,即使在当前的硬件性能的时代已经有了很大的提高,编写Javascript代码的时候,如果我们能够遵循Javascript规范和注意的一些性能的知识,我们将提高可维护性和代码的性能优化好的。

下面给出了一些编写高性能Javascript代码的建议:

1。尽量不要使用for循环访问数组。建议循环由。


函数(){
var I,b,C = {,};
对于(我在C){
b = { };
如果(b =)
返回B;
}
}
/更好的性能
函数(){
var I,b,C = {,};
对(我=;i < c.length;i++){
b = { };
如果(b =)
返回B;
}
}



2,建议对象缓存,尤其是DOM访问更耗费资源:


/ / c.length没有缓存,每个迭代计算数组的长度。
函数(){
var I,b,C = {,};
对(我=;i < c.length;i++){
b = { };
如果(b =)
返回B;
}
}
更好的性能,第一次将数组缓存的长度变为变量L,第二个循环和后一个周期不用计算数组的长度。
函数(){
var I,b,c,{,},L;
对(我=,= c.length;我< L;i++){
b = { };
如果(b =)
返回B;
}
}

/ / document.getelementbyid('info)没有被缓存,和DOM走过的每一次
函数(){
VaR E;
document.getelementbyid('info).innerHTML =呼叫;
document.getelementbyid('info).innerHTML =呼叫;

}
/更好的性能,第二次没有访问DOM
函数(){
var = document.getelementbyid('info);
e.innerhtml =呼叫;
e.innerhtml =呼叫;
}


3,函数的深层嵌套不应在函数中判断。


嵌套函数判断语句太多
功能匹配foo1(){
var = { };
r.data = { };
r.data myprop = 2;
如果(r){
如果(r.data){
如果(r.data。myprop){
逻辑
}
{其他
逻辑
}
}
}
}
/更好的性能
功能Foo2(){
var = { };
r.data = { };
r.data myprop = 2;
如果(!R)返回;
如果(!r.data)返回;
如果(r.data。myprop){
逻辑
{人}
逻辑
}
}


4。避免使用循环引用来防止内存泄漏:


jQuery
函数富(e,d){
$(e)。
逻辑处理
CBK(D);
}
});
}
中断循环!
函数富(e,d){
$(e)。
}
功能组(D){
逻辑
}


5,建议避免在函数中返回未声明的变量,并污染外部变量:


函数(a,b){
R = A + B;
还没有声明返回r,然后创建全局变量。
}


6,var声明变量,建议用多行编写


您的测试结果很快,但也是一种视图。
函数(){
var;
var和;
变量D =;
VaR E;
}
函数(){
var =,和,d =,e;
}


注意:事实上,单个函数之间的时间差别不大。将性能与累积周期进行比较。不同PC配置或浏览器测试结果之间可能存在差异。

以上是关于编写高性能Javascript代码的N个建议,希望能对您有所帮助。