我通常将应用程序的各个部分分解为自己的模块和存在于一个全局对象下的文件。对于生产代码,我将一个master.js文件中的所有文件组合在一起。因为我在不同的文件中编写代码并且不想担心它们被加载的顺序,所以我检查全局对象'App'是否存在,如果它没有创建一个空对象来存储模块。
因此,如果我有10个模块,那么在组合文件中它将运行var App = App || {};
10次,只需要运行一次(在开始时)。我的问题是,在性能方面这是一个大问题,是否值得在最后进行并删除不必要的代码?对于较小的应用程序,我认为这不是什么大问题,但只是想知道这对于更大的应用程序是否是一个糟糕的策略。
// module_1.js
var App = App || {};
App.Module_1 = (function(){
// code
}());
// module_2.js (different file)
var App = App || {};
App.Module_2 = (function(){
// code
}());
答案 0 :(得分:0)
即使var App = App || {}
运行100次,您也不会发现任何差异(仅限非常慢速系统),所以我会说:只需离开它。
一般来说,不要过早优化,看看真正的瓶颈在哪里并优化它们。
顺便说一句,那些额外的匿名,自我调用函数是不必要的:使用时App.Module_X = function(){
// code
};
使用var
声明的变量已经在App.Module_X
范围内。