總架構圖(摘自《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可以顯示出類的繼承和實現結構,包括它的父類和...