jQuery扩展

jQuery.extend:

1、对象合并:将后面所有对象的值,覆盖在第一个对象上。(不适用于数组)

var aa={"name":"zs","age":18};
var bb = {"name":"cs"};
var cc = {"name":"fx"};
console.log(jQuery.extend(aa,bb,cc));//{name: "fx", age: 18}
console.log(aa,bb,cc);//bb,cc的值不变。aa和jQuery.extend的值是一样的

2、深度拷贝:
若第一个参数为true,则会将后面的参数全部拷贝至第二个参数。否则像下例的location会被覆盖,而深度拷贝对于相同名称的属性,会值覆盖属性对象中相同的参数,其他属性保持。

var result=$.extend( true,{},
        { name: "John", location: {city: "Boston",county:"USA"} },
        { last: "Resig", location: {state: "MA",county:"China"} }
);
console.log(result);

3、方法扩展:(原理同1)

jQuery.extend(jQuery.expr[':'], {
    'x': function (e) {
        return e.type === 'text';
    },
    'y': function (e) {
        return e.type === 'button';
    }
});

jQuery.fn.extend:

jQuery.fn是所有jQuery对象的原型对象。给其添加函数,相当于给所有jQuery对象添加方法。

jQuery.fn.extend({
    'vvv':function () {
        console.log($(this).val());
    },
    'xxx':function () {
        console.log($(this).attr("class"));
    }
});
//使用
$(".x04").vvv();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 什么是jQuery插件? 扩展jQuery原型对象的一个方法(jQuery插件是jQuery对象的一个方法)jQu...
    yztldxdzhu阅读 3,535评论 0 0
  • 当我们使用jQuery对象的方法时,由于jQuery对象可以操作一组DOM,而且支持链式操作,所以用起来非常方便。...
    _我和你一样阅读 1,810评论 0 1
  • 花边花边花边!
    扶摇摇摇摇摇摇阅读 1,531评论 1 2
  • 蚓无爪牙之力,肱骨之强,上食埃土,下饮黄泉,用心一也。 以前的我总是以为好多事情只要了解了就够了,渐渐的就变成现在...
    邶阈阅读 4,685评论 0 0
  • 夜空作你的舞台 生命是你的柴薪 用一生的时间 锻造一瞬的明光 从自我的最深处绽放 却只是黑色瞳仁里 一点灼伤
    栖迟一杯酒阅读 1,324评论 0 1

友情链接更多精彩内容