我很好奇在構建封裝代碼塊時是否有與JQuery有關的最佳實踐。JQuery JavaScript設計:自執行函數還是對象文字?
通常,當我構建一個頁面時,我喜歡將該頁面內使用的函數封裝在一個對象內。這允許我在構建應用程序時進行一些封裝。沒有什麼我恨比看到一個JavaScript文件和一幫這個
function doSomethingOnlyRelevantOnThisPage() {
// do some stuff
}
我這使得凌亂的設計更多的,並沒有真的很好封裝功能。
通常在許多框架中,有一個用於執行此封裝的標準。
在MooTools的他們青睞的對象文字符號:
var Site = {
// properties and methods
}
在YUI他們喜歡自我執行的函數符號:
(function() { // properties and methods })()
關於第二個例子中的好處是,封閉創建,從而允許您定義私有屬性和方法。
我的問題是:任何JQuery愛好者都有創建這些乾淨的封裝結構的最佳做法嗎?他們使用的理由是什麼?
但是,這隻有在你打算在對象內封裝狀態時纔有用。您將不得不對這些對象調用new來創建實例。就我而言,他們在OO條款中表現得更像靜態類。 – 2008-10-09 19:11:28
真的,真的......在這種情況下,我更喜歡自我執行的匿名函數。 – 2008-10-09 19:18:05