【问题标题】:Can anyone explain namespace in javascript with an example? [closed]任何人都可以用一个例子来解释javascript中的命名空间吗? [关闭]
【发布时间】:2010-12-28 09:23:05
【问题描述】:

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

谢谢

【问题讨论】:

标签: javascript


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    在 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 问题。

    【讨论】:

    • 首字母大写通常意味着它是一个构造函数。改用myNamespace 可能会更好。
    • 我认为这只是个人编码风格的问题,真的。我总是使用第一个字母作为类名和构造函数。在这种情况下,MyNamespace 充当一个类。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-15
    • 2011-03-31
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    相关资源
    最近更新 更多