假设我在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({});
这有多大意义吗?我正在开始一个新的应用程序,它将变得非常大,我们正在寻找新的方法来保持组织有序(与之前的项目相比)。
您对这种技术有何看法?
答案 0 :(得分:3)
根据我的理解,这非常简洁,可以跟踪数据,并保持组织良好。
当您计算复杂的体系结构时,您应该关注的是对DOM的影响,因为这会降低页面呈现和交互的速度(特别是对于旧浏览器)。请记住,声明全局变量App = {};将在窗口对象树中创建一个新项目。
话虽如此,我会考虑三个要点:
只在需要时全局存储数据而不是控制引用(再次从我的理解中无需存储控件引用...如果你仍然需要跟踪,你应该考虑存储控件ID)
使用这种全局模式存储控件的风险很可能因circular references导致内存泄漏而结束......所以请你自己帮忙,在这样做之前再考虑两次。< / p>
不要加载可能不会被使用的东西,但更喜欢延迟加载...意味着按需加载一次,然后根据需要缓存加载的数据。
你应该在开发过程中看看JSLint,以便最终不会有大的惊喜:)
希望这有帮助