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