有人能用一个例子来解释javascript中的名称空间吗?

有人能用一个例子来解释javascript中的名称空间吗?,javascript,Javascript,我对javascript中的函数名称空间有点困惑。我可以有同名的函数吗 谢谢,Javascript中没有命名空间的官方概念,就像C++中的那样。但是,您可以将函数包装在Javascript对象中以模拟名称空间。例如,如果要在名为MyNamespace的“命名空间”中编写函数,可以执行以下操作: var MyNamespace = {}; MyNamespace.myFunction = function(arg1, arg2) { // do things here }; MyNam

我对javascript中的函数名称空间有点困惑。我可以有同名的函数吗


谢谢

,Javascript中没有命名空间的官方概念,就像C++中的那样。但是,您可以将函数包装在Javascript对象中以模拟名称空间。例如,如果要在名为

MyNamespace
的“命名空间”中编写函数,可以执行以下操作:

var MyNamespace = {};

MyNamespace.myFunction = function(arg1, arg2) {
    // do things here
};

MyNamespace.myOtherFunction = function() {
    // do other things here
};
然后,要调用这些函数,您需要编写
MyNamespace.myFunction(somearg,someotherarg)
MyNamespace.myOtherFunction()

我还应该提到,在Javascript中有许多不同的方法来实现名称空间和类。我的方法只是其中之一


关于更多的讨论,您可能还想看看这个问题。

如果您指的是ECMAScript 6/JavaScript 2名称空间,那么目前没有任何JavaScript实现支持名称空间

如果您指的是今天名称空间是如何完成的,那么它只是使用一个对象,并将您想要定义的每个方法都放在其中

var myNamespace = {};
myNamespace.foo = function () { /*...*/ };
myNamespace.bar = function () { /*...*/ };

大写的第一个字母通常意味着它是一个构造函数。使用
myNamespace
可能更好。我认为这只是个人编码风格的问题,真的。我总是用第一个字母作为类名和构造函数。在本例中,
MyNamespace
充当一个类。在这方面有一些很好的例子。