Jquery1.3源碼解讀(一):總體結構

jquery代碼:

分析:

第一個括號裏面是個匿名函數,第二個括號表示馬上執行第一個括號裏面的代碼。

這種形式在javascript中又叫自調用函數(self-invoking-function)。

所有的jquery代碼都放在該匿名函數裏,避免了命名衝突。

擴展:

1)  自調用函數單件對象Singleton object)設計模式對比

單件對象的代碼形式:

 

Divo 對象中 init 函數一直存在,顯然會佔用內存。

當然,你也可以在執行 Divo.init() 後,做 delete Divo.init

但:

因爲在整個應用程序生命週期中, init 函數只需要執行一次,所以自調用函數是最簡潔的一種寫法。

2)命名空間

javascript裏面是沒有命名空間的,要保證你的javascript函數、對象與其他的不衝突,你的所有javascript函數、對象都在一個匿名函數裏面定義,確保了所定義的函數、對象的有效範圍,起到了命名空間的作用。

3匿名函數模式:

   http://www.hedgerwow.com/360/dhtml/js-anonymous-function-patterns.html

非匿名函數的類似寫法如下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章