讀jQuery原始碼釋疑筆記3

2022-01-10 06:34:46 字數 598 閱讀 7952

1、在jquery.fn=jquery.prototype中定義了方法:init, map, each , toarray, get, pushstack,   ready,  slice,first, last, eq, map,end;  屬性:jquery, constructor, selector, length, push, sort, splice(後三者僅供內部使用)。

2、通過jquery.fn.init.prototype = jquery.fn;避免了this的混亂。這樣看上去jquery.fn.init重寫了其原型物件jquery.fn中的init方法,再通過new jquery.fn.init( selector, context, rootjquery );來生成jquery例項。從而jquery也繼承了其jquery.fn中的所有方法和屬性。

3、query.extend = jquery.fn.extend:該函式只能接受乙個物件,如果是兩個物件,就會把第二個物件的屬性加到第乙個物件上。只傳入乙個物件,就相當於把該物件的屬性新增到了jquery上。而之所以是query.extend = jquery.fn.extend,是因為this的指向,因此兩個的函式體可以是一樣的。

讀jQuery原始碼釋疑筆記3

1 在jquery.fn jquery.prototype中定義了方法 init,map,each toarray,get,pushstack,ready,slice,first,last,eq,map,end 屬性 jquery,constructor,selector,length,push,s...

讀jQuery原始碼釋疑筆記2

本釋疑筆記是針對自己在看原始碼的過程中遇到的一些問題的解答,對大眾可能不具有參考性,不過可以看看有沒有你也不懂得地方,相互學習,相互進步。1 函式init 2 pushstack函式 3 eq函式 4 isplainobject函式 var obj function var obj1 functio...

jQuery 原始碼分析筆記 3

deferred機制 從1.5版本開始,jquery加入了deferred功能,讓事件處理佇列更加的完善。並用 這個機制重寫了ajax模組。雖然還沒輪到ajax,但是接下來的事件處理函式中牽扯到了 這個機制,所以提前看這段 deferred把 函式註冊到乙個佇列中,統一管理,並且可以同步或者非同步地...