javascript - 初始化函数优化

标签 javascript optimization

我通常将应用程序的各个部分分解为各自的模块和文件,这些模块和文件存在于一个全局对象下。对于生产代码,我将所有文件合并到一个 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
}());

最佳答案

即使 var App = App || {} 运行 100 次,您不会注意到任何差异(仅在非常慢的系统上),所以我会说:放弃它。

一般来说,不要过早优化,看看真正的瓶颈在哪里并进行优化。

顺便说一句,那些额外的匿名、自调用函数是不必要的:使用时

App.Module_X = function(){
    // code
};

使用var声明的变量已经在App.Module_X的范围内。

关于javascript - 初始化函数优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5668641/

相关文章:

用于最近邻搜索的八叉树算法

c# - 限制进程的CPU使用率

javascript - React 中多语言应用程序的条件渲染

javascript - 使用 Mod 运算符对多个数组进行分页?

c# - 附加到序列化集合

php - 在 PHP 中将字符串转换为整数的最快方法

javascript - 是什么导致 Kendo UI 调度程序刷新显示的事件?

javascript - 客户端自动提交表单

javascript - Nodemailer 和 Node 中的密码问题

mysql - 在控制台上运行相同的查询需要两次时间?