如何在 javascript 模块模式中使用内部命名空间
How to use internal namespace in javascript moduler pattern
我有 2 个 .js 实用程序文件。我正在使用如下的模块模式。 MODULE1 & MODULE2 是全局命名空间。此外,在内部,两个 .js 文件都对命名空间使用相同的变量名称,即 "mynamespace"
我想知道这会导致两个模块中内部名称空间名称相同的任何问题。
1.js
var MODULE1 = (function () {
var mynamespace = {};
privateVariable = 1;
function privateMethod() {
// ...
}
mynamespace .Init = function () {
// ...
};
return mynamespace ;
}());
2.js
var MODULE2 = (function () {
var mynamespace = {};
privateVariable = 1;
function privateMethod() {
// ...
}
mynamespace.Init = function () {
// ...
};
return mynamespace;
}());
否,因为 mynamesapce 变量仅在每个函数的局部范围内定义。
如果 mynamespace 是全局的,会给你带来麻烦,但事实并非如此
我有 2 个 .js 实用程序文件。我正在使用如下的模块模式。 MODULE1 & MODULE2 是全局命名空间。此外,在内部,两个 .js 文件都对命名空间使用相同的变量名称,即 "mynamespace" 我想知道这会导致两个模块中内部名称空间名称相同的任何问题。
1.js
var MODULE1 = (function () {
var mynamespace = {};
privateVariable = 1;
function privateMethod() {
// ...
}
mynamespace .Init = function () {
// ...
};
return mynamespace ;
}());
2.js
var MODULE2 = (function () {
var mynamespace = {};
privateVariable = 1;
function privateMethod() {
// ...
}
mynamespace.Init = function () {
// ...
};
return mynamespace;
}());
否,因为 mynamesapce 变量仅在每个函数的局部范围内定义。
如果 mynamespace 是全局的,会给你带来麻烦,但事实并非如此