js代码优化
2014-09-23 00:52
127 查看
1、减少Jquery使用处理dom遍历和复杂的脚本场景时,jquery可能有很大的帮助,不过在处理简单的、直截了当的代码场景就会迟缓。尽可能的避免jquery对象创建,尤其在循环中。2、优化循环用被缓存的数组长度测试地址)4、缓存dom元素、jquey对象、对象/数组值5、减少reflow对dom的每次改变都会有一个重大的性能成本造成页面reflow避免在document上直接进行频繁的DOM操作,如果确实需要可以采用off-document的方式进行先将元素从document中删除,完成修改后再把元素放回原来的位置将元素的display设置为”none”,完成修改后再把display修改为原来的值如果需要创建多个DOM节点,可以使用DocumentFragment创建完后一次性的加入
优化前 for(vari=0;i<arr.length;i++){ //somecodehere } 优化后 for(vari=0,len=arr.length;i<len;i++){ //somecodehere }3、if/else和swith语句如果只是1或者2个语句,那if/else性能更好点如果3个或者3个以上,那swith更好,这个可以通过测试来验证(
//优化前 varlist=document.getElementById("list"); for(vari=0;i<10;i++){ varitem=document.createElement("li"); item.innerHTML="option"+(i+1); list.appendChild(item); } //优化后 varlist=document.getElementById("list"); varfragment=document.createDocumentFragment(); for(vari=0;i<10;i++){ varitem=document.createElement("li"); item.innerHTML="option"+(i+1); fragment.appendChild(item); } list.appendChild(fragment);集中修改样式
优化前: functionselectAnchor(element){ varchangeDiv=document.getElementById(element); changeDiv.style.color=‘#093′; changeDiv.style.background=‘#fff’; changeDiv.style.height=’100px’; } 优化后: CSS: changeDiv{ background:#fff; color:#093; height:100px; } JavaScript: functionselectAnchor(element){ document.getElementById(element).className=‘changeDiv’; }6、避免全局的搜索
var$button=$(".button"); $buttons.find("a.mybutton");替代$("a.mybutton");7、优先dom搜索,然后再过滤优先使用原生的
getElementById、getElementsByTagName例如.find("a").filter("[href=*'url_fragment']")替换.find("a[href=*'url_fragment']"8、绑定多个事件到一个元素
//优化前 var$elem=$("#element"); $elem.on("mouseover",function(event){ //mouseover }); $elem.on("mouseout",function(event){ //mouseout }); //优化后 $("#elem").on("mouseovermouseout",function(event){ if(event.type==="mouseover"){ //mouseover }else{ //mouseout } });9、Property深度object.name<object.name.name这个property越深,获取时间越长
相关文章推荐
- js中if语句的几种优化代码写法
- JS代码优化技巧之通俗版
- JS代码优化及技巧
- js代码优化
- js中if语句的几种优化代码写法
- JS优化For循环的实例代码
- js代码优化
- 如何优化你的JS代码
- 如何优化js代码(5)――避免双重解释
- JS简单的倒计时(代码优化)
- JS代码优化技巧之通俗版(减少js体积)
- 由一次代码优化想到的Js 数据类型
- Uglifyjs(JS代码优化工具)入门 安装使用
- js 性能优化——代码片段
- 实用的JS代码优化技巧
- js中if语句的几种优化代码写法
- Uglifyjs(JS代码优化工具)入门 安装使用
- 【js基本功能模块】“回到顶部”代码优化
- JS代码优化技巧之通俗版
- JS全选功能代码优化