当前位置:  开发笔记 > 编程语言 > 正文

如何在JavaScript中为实例化对象提供名称空间

如何解决《如何在JavaScript中为实例化对象提供名称空间》经验,为你挑选了2个好方法。

我有一个JavaScript"对象",以这种方式构建:

function foo()
{
    this.length = 0;
}

foo.prototype.getLength = function()
{
    return this.length;
}

...

我知道如何使用单例JavaScript对象模拟命名空间,但是什么是"命名空间"对象的最佳方法,如上面的那些将会有什么意义呢?

我知道有几个JavaScript库具有名称间距功能,但我使用的是jQuery,而不想添加其他库.我希望能够提供我自己的,也许是通过利用jQuery,我需要实例化的JS对象的内部命名空间方案.

谢谢rp



1> Jason Buntin..:

简单:

if(!MyNamespace) MyNamespace = {};

MyNamespace.foo = function() {
   this.length = 0;
};
MyNamespace.foo.prototype.getLength = function() {
   return this.length;
};



2> Marius..:

Javascript实际上没有像其他语言那样的命名空间或包.相反,它有闭包.如果您的应用程序包含多个函数,变量和对象,那么您应该将它们放在一个全局对象中.这将与命名空间具有相同的效果.

例如:

var namespace = {
  this.foo: function(){
    ...
  },
  this.foo.prototype.getLength: function(){
    ...
  }
}

您还可以创建一组嵌套对象并模拟包:

loadPackage = function(){
  var path = arguments[0];
  for(var i=1; i

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有