您现在的位置:首页 >> 前端 >> 内容

jQueryCH11--性能优化和技巧

时间:2016/12/13 9:34:38 点击:

  核心提示:第十一章 jQuery的性能优化和技巧1、使用id定位DOM是最佳提高性能的方式,将id与find相结合;2、使用类定位性能不佳,使用属性选择器([attribute=value])、伪选择器((:s...

第十一章 jQuery的性能优化和技巧

1、使用id定位DOM是最佳提高性能的方式,将id与find相结合;

2、使用类定位性能不佳,使用属性选择器("[attribute=value]")、伪选择器((“:selector”))性能更差,尽量不用。如果必须使用,先用ID定位确定上下文,在使用上述选择器;

3、将重复使用的选择器对象缓存到变量中调用,如果多个对象使用同一个缓存对象,将此对象缓存到全局对象中:

$(function(){
    var my={
        title:$("head"),
        changeColorID:$("#id")
    }
    $("#btn").click(funciton(){
        my.title.csss("background","red")
    })
});

4、减少循环中对DOM的操作次数,在向DOM插入字符串的循环时,现将字符串通过循环拼接好,然后一次性插入DOM中;

5、从性能角度考虑,用for或while循环代替.each();

6、使用length检查jq对象是否存在,因为$(“”)对象永远都是ture;

7、$(“ul li”).click(),如果li由100个子元素的li,那么久绑定了100个事件,为了优化性能,应该将事件绑定到父元素,通过时间冒泡和e.target捕捉触发的目标元素,下面的两种方式都是可行的:

$("ul").click(function(e){
    var $a= $(e.target);//e.target捕捉触发事件的元素
    //对触发事件的元素操作
})
$("ul").on(click,"li",function(){
    //对li操作
})

8、将常用的函数封装成插件:

//使用$.extend封装全局函数
(function($){
    $.extend({
        functionA:function(value){
            //编写函数A
        }
        functionB:function(value){
            //编写函数B
        }
    })
})(jQuery)
//使用$.fn.extend封装对象方法
(function($){
    $.fn.extend({
        "color":function(value){
            //编写代码
            return this//返回this,使方法可链
        }
    })
})(jQuery)

9、在小数据量的字符串接连操作时,”+=”和”array.join”的性能相差无几,在操作大数据量的字符串连接时(>= 10000),使用”array.join”的性能优势遍体现出来了。

Tags:JQ QU UE ER 
作者:网络 来源:duola8789的