jquery原始碼如下
// define a local copy of jqueryjquery = function( selector, context )
jquery.fn = jquery.prototype =
...}// give the init function the jquery prototype for later instantiation
jquery.fn.init.prototype = jquery.fn;
其中
jquery = function( selector, context )定義了jquery變數就是乙個方法,方法體就是:
function( selector, context )所以在外部我們呼叫$("selector")等價於呼叫
new jquery.fn.init( selector, context, rootjquery );
返回的就是jquery.fn.init的乙個例項。
由於
jquery.fn = jquery.prototypejquery.fn.init.prototype = jquery.fn
所以
jquery.fn.init.prototype = jquery.prototype.init.prototype = jquery.prototype所以jquery.fn.init的例項的prototype就是jquery.prototype,因此會繼承jquery.prototype上的屬性和方法。
jQuery建立例項與原型繼承揭秘
在普通情況下我們要用原生類 或者自定義類建立例項要用new運算子,使建構函式建立乙個例項,並且例項繼承構造器prototype上的所有公有方法。如 new object new date 等等!object有 陣列有這樣的快捷方式 我們主要 new這種方式。我們在使用jquery時從來沒有使用過ne...
建立jQuery外掛程式
全域性 類 方法 開發頻率低 物件 例項 方法 開發頻率高 選擇器 外掛程式 fun 名字空間 extend fn.外掛程式 fun fn.名字空間 fn.extend 方法名 function 方法名 function var newobject extend 合併多個物件 外掛程式 全域性 類 ...
jQuery 擴充套件 ajax例項
先前寫工具類都是自定義類,直接prototype,jquery擴充套件這一塊兒,一直也沒寫過,剛好今天有空,寫個試試。已經有很多人對jquery,jquery.fn,jquery.fn.extend詳細說明過了,此處不再贅述,直接上 jquery.ibt else pop mask fadein f...