jQuery原始碼閱讀2 init

2021-09-19 23:37:34 字數 1070 閱讀 8785

總架構圖(摘自《jquery技術內幕》):

**逐步分析:

//init負責解析引數selector和context的型別;selector和context共有12個分支

function init(selector , context , rootjquery)

//判斷傳入的引數是否是dom節點

if( selector.nodetype )

//如果傳入了body,噼里啪啦立刻return this

if( selector === "body" && !context && document.body)

//如果傳入其他字串

if( typeof selector === "string")

else

if( match && (match[1] || !context )

else

}else

return jquery.merge( this, selector );

//合併到jquery物件中並返回

}else

this.length = 1;

this[0] = elem;

}//找到元素後,設定第乙個元素、屬性length、context、selector,並返回當前jquery物件

this.context = document;

this.selector = selector;

return this;}}

else if ( !context || context.jquery )

else

}//如果傳入 $(function)

else if ( jquery.isfunction( selector ) )

if( selector.selector !== undefined)

return jquery.makearray( selector, this );

}

jQuery原始碼閱讀筆記

一 閉包結構 作用 消除全域性汙染 採用閉包 匿名函式立即執行 的方式,傳入了window物件 只在後面暴露 和 jquery 這 2 個變數給外界 方式1 function window,undefined window 方式2 function window window,undefined 方...

jQuery原始碼閱讀 swap()

swap css 交換 note this method belongs to the css module but it s needed here for the support module.if support gets modularized,this method should be m...

《原始碼閱讀》原始碼閱讀技巧,原始碼閱讀工具

檢視某個類的完整繼承關係 選中類的名稱,然後按f4 quick type hierarchy quick type hierarchy可以顯示出類的繼承結構,包括它的父類和子類 supertype hierarchy supertype hierarchy可以顯示出類的繼承和實現結構,包括它的父類和...