JavaScript-JS命名空间的构造和实现-[web前端开发]
2013-12-17 22:44
916 查看
所谓命名空间,就是通过 com.proj.common.dosomething 这样的形式使用和访问脚本。
为什么要这样做?
1。项目很大,应用程序繁杂,使用长路径清晰,容易理解,分门别类;
2。可以方法重名,比如你的项目里可能很多 showABC() 这样的方法,是不是很乱?
使用命名空间 com.proj.a.showABC() 和 com.proj.b.showABC() 就会区分开来;
3。可以将javascript按 包的形式封装起来,和我们 JAVA web 项目里的分层管理趋于一致;
4。有利于代码更新,升级和维护。
命名空间的构造:
为什么要这样做?
1。项目很大,应用程序繁杂,使用长路径清晰,容易理解,分门别类;
2。可以方法重名,比如你的项目里可能很多 showABC() 这样的方法,是不是很乱?
使用命名空间 com.proj.a.showABC() 和 com.proj.b.showABC() 就会区分开来;
3。可以将javascript按 包的形式封装起来,和我们 JAVA web 项目里的分层管理趋于一致;
4。有利于代码更新,升级和维护。
命名空间的构造:
/** * 命名空间的创建 * 支持 xxx.xxx.xxx命名访问 * * */ function NamespacesPrototype() { function access(c, d, e) { c[d] = e; e._path = c._path ? (c._path + "." + d) : d; e._parent = c; } function make(d, f, c) { var e = f.shift(); if (0 == f.length) { access(d, e, c()); } else { if (!d[e]) { access(d, e, {}); } make(d[e], f, c); } } this.create = function (nameString, custfun) { make(window, nameString.split("."), function () { return new custfun(); }); }; this.register = function (nameString, custfun) { make(window, nameString.split("."), function () { return custfun; }); }; }; /** * 创建命名空间 */ var Namespaces; if (!Namespaces) { Namespaces = new NamespacesPrototype(); };
//命名空间的自定义 Namespaces.create("com.proj.common", function () { this.a= 'This is my code'; this.b = function (){ // your method
alert('my method-' + this.a); }; //TODO orthers code here. });
//使用
...
com.proj.common.b(); // output 'my method-This is my code'
相关文章推荐
- 原生JS实现tab切换--web前端开发
- Android混合开发之WebViewJavascriptBridge实现JS与java安全交互
- WEB前端开发学习----4.用JavaScript实现网页游戏的移动效果
- Android混合开发之WebViewJavascriptBridge实现JS与java安全交互
- 【web前端技术】八款JS(javascript)常用开发框架介绍及比较(web前端开发框架)
- Android混合开发之WebViewJavascriptBridge实现JS与java安全交互
- JavaScript 实现命名空间(namespace)的最佳方案——兼容主流的定义类(class)的方法,兼容所有浏览器,支持用JSDuck生成文档
- Web前端开发实战2:二级下拉式菜单之JS实现
- Android混合开发之WebViewJavascriptBridge实现JS与java安全交互
- Java Web项目前端规范(采用命名空间使js深度解耦合)
- Web前端开发之@ 功能 JS 实现原理详解
- iOS开发使用WebViewJavascriptBridge实现OC与JS交互
- Web前端开发实战2:二级下拉式菜单之JS实现
- 【web前端开发技术】深入理解JavaScript中的依赖注入
- Web前端开发,利用HTML5 Canvas实现监控系统页面展示
- JavaScript前端开发之实现二进制读写操作
- JavaWeb前端开发知识总结(javaScript)
- Web前端开发实战3:二级下拉式菜单之jQuery实现
- SPORE,一个很好的实现JS命名空间的管理,模块的定义,与自动加载依赖模块的脚本文件
- Web开发中 前端路由 实现的几种方式和适用场景