我试图将我所有的 javascript 函数放在一个命名空间中。我有两个 javascript 文件,我试图将这两个文件的所有函数都放在一个命名空间中。因此,当我为两个文件定义相同的命名空间时。第一个被第二个覆盖。我已经在两个文件中定义了我的命名空间,如下所示。有没有一种方法可以阻止其他将所有功能放到一个文件中?谢谢您的帮助。
var mynamespace={
foo:function(){Som code},
bar:function(){some code}
};
我试图将我所有的 javascript 函数放在一个命名空间中。我有两个 javascript 文件,我试图将这两个文件的所有函数都放在一个命名空间中。因此,当我为两个文件定义相同的命名空间时。第一个被第二个覆盖。我已经在两个文件中定义了我的命名空间,如下所示。有没有一种方法可以阻止其他将所有功能放到一个文件中?谢谢您的帮助。
var mynamespace={
foo:function(){Som code},
bar:function(){some code}
};
是的你可以。在每个文件中:
var mynamespace = mynamespace || {};
然后为您拥有的文件选择下一行:
mynamespace.foo = function () {
或者
mynamespace.bar = function () {
基本上,它所做的是分配一个当前值mynamespace
tomynamespace
如果它存在的话。否则,它会创建一个新对象。请注意,根据您是否在mynamespace
上面声明,您可能需要将这条线放在顶部:
if (typeof mynamespace === 'undefined') { var mynamespace = {} }