我正在尝试制定一种 javascript 模块化编码的风格。
目前,我在 global.js 中声明了一个“挂载变量”,它链接到 Web 应用程序中的所有页面。它包含全球网站的东西,比如 javascript 语言切换:
var app = window.app || {};
app.Lang = (function ($) {
"use strict";
var init = function () {
...
};
};
return { init: init };
})($);
app.GlobalLogic = (function ($) {
"use strict";
var ready = $(function () {
app.Lang.init();
});
}($));
如您所见,我正在使用立即执行的函数来初始化文件中加载代码的逻辑。
现在我正在尝试编写一个隔离的 javascript 文件,该文件可以与加载在同一页面上的其他文件具有相似的变量名。这是一个例子:
app.GalleriesAdminLogic = (function ($) {
"use strict";
var MountDivID = "#galleries-management-view";
...
var constructorFunction = function () {
var initialDataObject = $.parseJSON($(MountDivID + " #initial-galleries-list").val());
...
}($));
注意变量MountDivID
。如果同时加载了一个类似的 js 文件,它也会包含一个名为的变量的定义MountDivID
,会不会造成解析冲突?仅从本地函数处理同名变量的正确模式是什么?