JS技术

JavaScript实现命名空间(绑定在jQ)

字号+ 作者:小想 来源: 2014-11-16 22:20 我要评论( )

不支持命名空间一直是JS开发里比较严重的问题。不过大家想出了各种手段来绕过这个坎,比如YUI的namespace。可惜的是jQuery尚未提供一个合适的解决方案,不过这并不难,可以人肉给它

 不支持命名空间一直是JS开发里比较严重的问题。不过大家想出了各种手段来绕过这个坎,比如YUI的namespace。可惜的是jQuery尚未提供一个合适的解决方案,不过这并不难,可以人肉给它添加这个方法。稍加搜索,找到两个地址介绍此方法,附在最后。

 

先上代码:

JavaScript Code复制内容到剪贴板
  1. // 把生成命名空间的方法绑定在jQuery上  
  2. jQuery.namespace = function() {  
  3.     var a=arguments, o=null, i, j, d;  
  4.     for (i=0; i<a.length; i=i+1) {  
  5.         d=a[i].split(".");  
  6.         o=window;  
  7.         for (j=0; j<d.length; j=j+1) {  
  8.             o[d[j]]=o[d[j]] || {};  
  9.             o=o[d[j]];  
  10.         }  
  11.     }  
  12.     return o;  
  13. };  
  14.    
  15. // 接着就可以使用此方法来定义命名空间了  
  16. jQuery.namespace( 'jQuery.debug' );  
  17. jQuery.debug.test1 = function()  
  18. {  
  19.     alert( 'test1 function' );  
  20. };  
  21. jQuery.debug.test2 = function()  
  22. {  
  23.     alert( 'test2 function' );  
  24. };  
  25. // usage  
  26. jQuery.debug.test1();  
  27. jQuery.debug.test2();  
 

将上面这段js保存成jQuery.namespace.js,放在和jQuery一个目录里,以后写项目的时候就可以随时用到了。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 老生常谈,JavaScript闭包中的this对象

    老生常谈,JavaScript闭包中的this对象

    2016-02-26 10:21

  • 学习JavaScript之this,call,apply

    学习JavaScript之this,call,apply

    2016-01-28 20:45

  • JavaScript复习笔记--字符串

    JavaScript复习笔记--字符串

    2016-01-27 17:16

  • WEB前端教程-JavaScript里的类和继承

    WEB前端教程-JavaScript里的类和继承

    2016-01-21 15:28

网友点评
<