這些是jQuery的擴(kuò)展,又分為兩種模式
模式一:$.extend靜態(tài)擴(kuò)展方法,或者叫jQuery類(lèi)方法(無(wú)需使用對(duì)象調(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í)它也可以用于深拷貝合并對(duì)象屬性
var mine = $.extend(true, {}, {
name: "小明",
location: { //二級(jí)嵌套對(duì)象
city: "上海",
county: "中國(guó)"
}
}, {
age: "18",
location: {//二級(jí)嵌套對(duì)象
code: "12345",
county: "美國(guó)"
}
}); console.log(mine);
模式二:$.fn.extend給jQuery對(duì)象添加方法,提供給其他對(duì)象(比如某個(gè)元素)調(diào)用。
fn是prototype的簡(jiǎn)寫(xiě)
示例:
$.fn.extend({ check: function() { return this.each(function() { this.checked = true;
});
}
}); //調(diào)用
$('input[name="xxx"]').check();
下面的寫(xiě)法也與上面的等價(jià)
$.fn.check = function() { return this.each(function() { this.checked = true;
});
}; //調(diào)用
$('input[name="xxx"]').check();