前端性能代码优化

前端主要指html、css、javascript三种技术,这三种技术,都有一些优化手段。html和css部分有很多优化手段,比如用div代替table、慎用iframe、css精灵图等,就不多说了,咱们主要说说javascript部分的优化手段。javascript部分案例一:代码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);
})()总结:尽量减少全局变量,变量用完记得要销毁。上图为我推荐给大家的一本说,里面写的内容比较详细。javascript中可以优化的地方特别多,时间关系,就先讲到这里。

转载:https://www.zhihu.com/question/40505685/answer/315931136

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值