$.extend和$.fn.extend的區別
阿新 • • 發佈:2018-11-29
(function () {
var jQuery = function (selector, context) {
return new jQuery.fn.init(selector, context);
};
jQuery.fn = jQuery.prototype = {
constructor: jQuery,
init:function....
};
window.jQuery = window.$ = jQuery;
})();
JQ中提供的方法有兩部分
-
在原型上面定義方法,供JQ的例項使用(JQ例項一般都是用選擇器獲取到的元素集合)
-
把JQ當做普通的物件,定義的私有屬性和方法(這些方法一般都是專案中的一些工具包或者常用的方法如$.ajax())
JQ已經提供很多的方法了,但是也不能說就足夠全了,所以為了後期開發者可以增加一些自己的方法,JQ提供了EXTEND方法,幫助開發者在JQ的原型或者物件上增加屬於自己的方法
-
jQuery.extend({AA:function...})在JQ的物件上增加方法$.AA(),這樣做一般都是增加更多的公用方法
-
jQuery.fn.extend({BB:function...}):在JQ的原型上擴充套件方法$().BB(),這樣做一般是給元素用的,我們也基於這個擴充套件JQ外掛