任何人都可以用javascript来解释javascript中的命名空间吗?

时间:2009-12-19 20:42:45

标签: javascript

我对javascript中函数的命名空间感到困惑。我可以使用相同名称的功能吗?

由于

2 个答案:

答案 0 :(得分:18)

在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中有许多不同的方法来执行命名空间和类似的事情。我的方法只是其中之一。

有关更多讨论,您可能还需要查看this问题。

答案 1 :(得分:2)

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

如果你指的是今天如何完成命名空间,那就是使用一个对象并将你想要定义的每个方法都放在它上面。

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