你的位置:首页 > Java教程

[Java教程]jquery 工作空间注册


在一些面向对象的语言中有命名空间的概念,好处就是把不同的类放在不同的文件夹下面,这样就不会发生命名冲突,当然命名空间还有其他的作用。

在这里我们讨论的是在JS中怎么使用命名空间。当然JS并没有提供原生的方式。我们可以这样做:

1、 我们创建一个空对象,例如:var nameSpace = {}; 我们就可以在这个空对象里面写函数了,这个是最简单的方式。

2、我们如果需要一个类似于java命名空间,例如:com.baibin.assess,那我们怎么办呢?

  比较蠢的办法是

 var com = {    baibin:{        assess:{}    }};  

写起来也是非常麻烦的,其实原理就是这样的。现在我们来提供一直jquery的扩展,如下:

  

;(function($) {  $.extend({      reg: function(pageage) {      var arr = pageage.split(".");      var ns = "";      for (var i = 0; i < arr.length; i++) {        if (i > 0) ns += ".";        ns += arr[i];        eval("if(typeof(" + ns + ") == 'undefined') " + ns + " = new Object();");      }    }  });})(jQuery);   

我用的是jquery扩展的方式,这样我们调用的时候就可以类似: 

$.reg("com.baibin.assess");

使用方式:

  

com.baibin.assess.add = function() {  };

这样我们就可以在com.baibin.assess这样的命名空间里进行编码了,当然写起来可能比较麻烦,你可以把命名空间写的短些。