让js代码快起来

给大家介绍几种既简单又让js代码运行更快一点的方法,在平时工作中可以注意一下,写着写着就习惯了。
1.将全局变量的引用存储在一个局部变量中,然后使用这个局部变量代替全局变量,例如var doc = document;然后使用var xxx=doc.getElementById();
如果要多次获取元素,这样写性能更高,访问全局变量的次数更少
当然可以这么写

(function(doc){
    var x1=doc.getElementById(),
          x1=doc.getElementById(),
          x1=doc.getElementById();
})(document)

2.js脚本放在页面底部,仅靠body标签,可以确保页面在脚本运行之前完成解析。将脚本成组打包,减少http请求,页面的script标签越少,加载速度越快,响应也更迅速。
3.一个标识符所处的位置越深,她的读写速度就越慢,所以,局部变量的访问速度是最快的,全局变量通常是最慢的,所以如果可以,建议用局部变量。

`
function a(){
    var c = 1;
    console.log(c); //直接在a函数里面找到
}`这里写代码片`
/*******/
var c =1;
function b(){
console.log(c);//首先在b函数里面找c,找不到,就再向外面找,直到找到c为止,这边结构比较简单,但是如果很多层呢,是不是要一层一层向外面找,这样查找是不是浪费时间。
}


这里又可以响应第1点了。
(function(doc){})(document)直接将document传进来,不用再去找全局的document,直接用doc就行
4.===的速度比==快。前些天一个同事跟我说,===是什么,当然人家是写后端的,我解释到===也是等于,但是它会先判断类型,再比较值,而==只是比较值,然后他又问,那==不是比===快嘛,我答道,类型都不一样了,值直接不用比较了,而==会进行各种隐式转换,再去比较值,所以三等号速度快,===既比较类型又比较值,==只比较值。
5.
for (var i = 0; i < alldivs.length; i++) bad for (var i = 0,len= alldivs.length; i

` //不好的方式
var elem = $('#elem');
for(var i = 0; i < 100; i++){
 elem.append('<li>element '+i+'</li>');
}
`// 好的方式
var elem = $('#elem' ),
arr = [];
for(var i = 0;  i < 100;  i++){
arr. push('<li>element ' +i+'</li>' );
}
elem. append(arr. join('' ));`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值