這些是jQuery的擴(kuò)展,又分為兩種模式
模式一:$.extend靜態(tài)擴(kuò)展方法,或者叫jQuery類方法(無需使用對象調(diào)用,自己執(zhí)行)
示例:
$.extend({ add: function(a, b) { console.log(a + b);
}
}); // 調(diào)用
$.add(3, 5);下面這個(gè)用法與上面的等價(jià)
$.add = function(a, b) { console.log(a + b);
}; // 調(diào)用
$.add(3, 5);同時(shí)它也可以用于深拷貝合并對象屬性
var mine = $.extend(true, {}, {
name: "小明",
location: { //二級嵌套對象
city: "上海",
county: "中國"
}
}, {
age: "18",
location: {//二級嵌套對象
code: "12345",
county: "美國"
}
}); console.log(mine);
模式二:$.fn.extend給jQuery對象添加方法,提供給其他對象(比如某個(gè)元素)調(diào)用。
fn是prototype的簡寫
示例:
$.fn.extend({ check: function() { return this.each(function() { this.checked = true;
});
}
}); //調(diào)用
$('input[name="xxx"]').check();下面的寫法也與上面的等價(jià)
$.fn.check = function() { return this.each(function() { this.checked = true;
});
}; //調(diào)用
$('input[name="xxx"]').check();