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();

你可能感兴趣的:(jQuery扩展)