我目前正在构build一个基于backbone.js的大型web应用程序,并且在组织,“僵尸”等方面遇到了很多问题,所以我决定做一个重要的代码重构。 我已经写了一堆处理“僵尸”的辅助函数。 不过,我想从头开始,并创build一个很好的结构/组织的代码。 我还没有find关于大规模backbone.js组织的很多很好的教程/例子,所以我从头开始,想看看我能否从我开始的地方得到一些意见。 我明显在全局命名空间中设置我的代码; 但我也想保持这个名字空间相当干净。 我的主app.js保持类文件本身与全局名称空间分开; 你可以通过使用reg()函数注册一个类(这样它可以被实例化),而inst()函数实例化类数组中的一个类。 因此,除了3个方法之外,MyApp命名空间只有Router,Model和View: var MyApp = (function () { var classes = { Routers: {}, Collections: {}, Models: {}, Views: {} }; methods = { init: function () { MyApp.Router = MyApp.inst('Routers', 'App'); MyApp.Model = MyApp.inst('Models', 'App'); MyApp.View = MyApp.inst('Views', 'App'); Backbone.history.start(); }, reg: function (type, name, C) { […]
看一个在线源代码,我在几个源文件的顶部看到了这个。 var FOO = FOO || {}; FOO.Bar = …; 但是我不知道|| {} || {}的确如此。 我知道{}等于new Object() ,我认为|| 就像“如果它已经存在使用它的价值,否则使用新的对象。 为什么我会在源文件的顶部看到这个?