本文采用的是jQuery2.0.3進(jìn)行分析:
聰明之處1.:
jQuery把所有代碼都放在了匿名函數(shù)之中:
(function( window, undefined ) {
})(window);
//注釋:
1.把所有變量或者函數(shù),放進(jìn)匿名函數(shù)當(dāng)中惑朦。這樣可以防止沖突〔笸唬互相不影響。因?yàn)閖s這種語言本身沒有封裝性可言熊泵。必須要想js一樣那樣做才可以達(dá)到不沖突的目的仰迁。在匿名函數(shù)中定義的變量基本都是局部變量。
2.但是顽分,又不能全部不暴露徐许,那樣的話我們無法訪問jQuery也不行。因此我們必須對外部提供接口卒蘸,來方便我們訪問jQuery绊寻。怎樣做呢?它把要提供的接口掛載在window的下邊:
window.$ = $,這樣我們在外邊調(diào)用的時(shí)候:$();
等價(jià)于:window.$();
3.為了達(dá)到簡寫的目的悬秉,jQuery提供了一種等價(jià)寫法澄步。//$() 完全等價(jià)于jQuery()。
源碼