前端主要指html、css、java三种技术,这三种技术,都有一些优化手段。
html和css部分有很多优化手段,比如用div代替table、慎用iframe、css精灵图等,就不多说了,咱们主要说说java部分的优化手段。
java部分
十万元拥有高颜值双联屏还带6气囊
广告
十万元拥有高颜值双联屏还带6气囊
案例一:
代码1:
var arr = [“a”, “b”, “c”];
for( var i=0; i<arr.length; i++ ){
console.log( arr[i] );
}
上面的代码确实没有问题,能够对数组进行循环,但是,i<arr.length 这个写法将导致性能下降,因为每一次判断时,都需要获取arr的length属性,解决的办法是,提前用变量保存length属性,判断时仅判断变量即可。
代码2:
var arr = [“a”, “b”, “c”];
var len = arr.length;
for( var i=0; i<len; i++ ){
console.log( arr[i] );
}
上面的代码就比第一次的代码性能好很多了,但是它还有优化的空间,那就是var声明变量部分,上面的代码用了3个var,这3个var如果合并成1个,那么性能会更好。
代码3:
var arr = [“a”, “b”, “c”], i=0, len=arr.length;
for( ; i<len; i++ ){
console.log( arr[i] );
}
总结:
1, 对于反复需要获取某一个属性时,我们提前用一个变量接收,比如len=arr.length;
2, 能够合并的代码,可以做合并操作,比如 var声明多个变量;
取平衡点
代码4:
var arr = ["a", "b", "c"], i=-1, len=arr.length-1;
for( ; i++<len; ){
console.log( arr[i] );
}
代码4从性能的角度讲,会比代码3更优;但从语义的角度讲,代码3比代码4优。
选择哪种,需要看具体需求,如果仅仅是这种3次的循环,那就无所谓了,性能都差不多。
案例二:
代码1:
var a=1, b=2, fn=function(){
alert( a+b );
};
上面的代码中,执行fn函数时,会输出a+b的值,如果没有其他程序需要用到a和b,那么变量a和b就不应该写在全局下,而应该写在函数内,写在全局下,页面关闭才会销毁,而写在函数内,函数执行完毕,就会销毁,所以从内存使用的角度,我们可以为此做优化。
代码2:
var fn = function(){
var a=1, b=2;
alert( a+b );
}
如果fn函数仅需要执行1次,之后就再也没有使用场景了,我们可以使用下面的自调用函数。
代码3:
(function(){
var a=1, b=2;
alert(a+b);
})()
总结:尽量减少全局变量,变量用完记得要销毁。
上图为我推荐给大家的一本说,里面写的内容比较详细。
java中可以优化的地方特别多,时间关系,就先讲到这里。