2011-08-02 30 views
0

比方說,我有一個JS全局數組稱爲App在全局數組中有數千個對象是否可行?

var App = {}; 

現在,我們建立了幾十個表格。每個表單可能有幾十個對象(按鈕,網格,面板,標籤等)。

此外,我們的應用程序有不同的範圍像WorkOrders, Leases, etc

所以,這將是安全的假設,我可以把一切都乾淨,如:

var App = {}; 
App.Leases = {}; 
App.WorkOrders = {}; 

App.Leases.myGrid = Ext.grid.GridPanel({}); 
App.Leases.btnNewButton = Ext.Button({}); 

App.WorkOrders.searchGrid = Ext.grid.GridPanel({}); 

這是大材小用?我開始一個新的應用程序,將增加相當大的,我們正在尋找新的方法來保持組織的事情(相比以前的項目)。

你對這種技術的想法?

回答

3

從我的理解,這是非常整潔的跟蹤數據,並隨時東西良好的組織。

當你計算複雜的架構,你應該專注於什麼,是對DOM的影響,因爲這是有什麼可以(特別是與舊的瀏覽器),放慢你的網頁渲染和互動。請記住,聲明一個全局變量App = {};將在窗口對象樹中創建一個新項目。如果需要的話

  • 只存儲數據在全球和無法控制的引用(再次從我的理解沒有一點存儲控制參考...如果:

    話雖這麼說,我會考慮的三個要點你仍然需要跟蹤你應該考慮存儲控制ID)

  • 存儲控制使用這種全局模式的風險很可能由於circular references而導致內存泄漏...所以請你自己幫忙,並考慮一下這樣做前兩次。

  • 不加載可能不會被使用的內容,但更喜歡延遲加載...意味着根據需要加載一次內容,然後在需要時緩存加載的數據。

你應該JSLint看看,而爲了不具有大的驚喜在最後:)發展

希望這有助於

相關問題