javascript面向对象之二 命名空间


Posted in Javascript onFebruary 08, 2011

最简单创建命名空间的方法:

var java = {}; 
java.util = {}; 
//这样就创建成功了命名空间:java.util 
//我们可以在java.util下面加类(函数),属性,或对象 
java.util.HashMap = function() 
{ 
this.ShowMessage = function() 
{ 
alert("java.util.HashMap"); 
} 
} 
var map = new java.util.HashMap(); 
alert(map.ShowMessage()); //显示结果:java.util.HashMap

//封装创建命名空间的方法:
//定义一个对象,js中用{}花括号定义对象,等同于 var JsObject = new Object();


var JsObject = {}; 
JsObject.namespace = function() //在JsObject对象下定义一个函数namespace 
{ 
 /*下面代码中arguments为函数传入的参数,在function未明确定义参数时, 
function也可以传入参数,并用arguments来 接收,arguments类似数组, 

如果传入多个参数,将按顺序保存,取值法:arguments[0],arguments[1]....*/ 
var a = arguments,o = null,d,rt; 
for(var i = 0; i < a.length; i++) 
{ 
d = a[i].split('.'); //将传入的参数用符号'.' 进行分割,并放入d数组中。 
rt = d[0]; 
//判断数组中的第一个值是否未定义,如果未定义,便定义为空对象{},并赋值给变量o 
eval('if (typeof ' + rt + ' == "undefined"){' 



+ rt + ' = {};} o = ' + rt + ';'); 

for(var j = 1; j < d.length; j++) 

{ 


/*循环遍历数组d每个值作为key,加入到对象o中,如果key在o中存在,则取o中值,若 


不存在,则赋值为空对象{} */ 
 


o[d[j]] = o[d[j]] || {}; 

  o = o[d[j]]; 

} 
} 
} 
JsObject.namespace("org.myJs"); //申明命名空间:org.myJs 
org.myJs.Student = function() //在命名空间org.myJs下定义类Student 
{ 


//定义类Student中的变量,并赋予初值,但此变量的访问权限是public 
this.studentNo = 's001'; 
this.studentName = '小明'; 
this.sex = '男'; 
} 
var s = new org.myJs.Student(); //创建Student类的对象 
alert('学号:'+s.studentNo); 
alert('姓名:'+s.studentName); 
alert('性别:'+s.sex);

效果和第一篇 (一)javascript经验总结面向对象—类 结果一样
Javascript 相关文章推荐
使用jquery给input和textarea设定ie中的focus
May 29 Javascript
jquery获得下拉框值的代码
Aug 13 Javascript
Node.js实现简单聊天服务器
Jun 20 Javascript
关于javaScript注册click事件传递参数的不成功问题
Jul 18 Javascript
微信开发之调起摄像头、本地展示图片、上传下载图片实例
Dec 08 Javascript
关于vuex的学习实践笔记
Apr 05 Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
Feb 08 Javascript
详解JavaScript添加给定的标签选项
Sep 17 Javascript
详解关于Vue2.0路由开启keep-alive时需要注意的地方
Sep 18 Javascript
详解Vue 动态组件与全局事件绑定总结
Nov 11 Javascript
Jquery Datatables的使用详解
Jan 30 jQuery
vue项目如何打包之项目打包优化(让打包的js文件变小)
Apr 30 Vue.js
javascript中的对象创建 实例附注释
Feb 08 #Javascript
kmock javascript 单元测试代码
Feb 06 #Javascript
一次失败的jQuery优化尝试小结
Feb 06 #Javascript
DOM_window对象属性之--clipboardData对象操作代码
Feb 03 #Javascript
基于jQuery的自动完成插件
Feb 03 #Javascript
jQuery初学:find()方法及children方法的区别分析
Jan 31 #Javascript
javascript event 事件解析
Jan 31 #Javascript
You might like
PHP XML数据解析代码
2010/05/26 PHP
10条PHP高级技巧[修正版]
2011/08/02 PHP
thinkphp配置连接数据库技巧
2014/12/02 PHP
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
JavaScript confirm选择判断
2008/10/18 Javascript
原生javascript实现图片轮播效果代码
2010/09/03 Javascript
javascript中expression的用法整理
2014/05/13 Javascript
JavaScript中exec函数用法实例分析
2015/06/08 Javascript
尝试动手制作javascript放大镜效果
2015/12/25 Javascript
jQuery实现的购物车物品数量加减功能代码
2016/11/16 Javascript
微信小程序利用co处理异步流程的方法教程
2017/05/20 Javascript
jQuery使用ajax_动力节点Java学院整理
2017/07/05 jQuery
jquery 输入框查找关键字并提亮颜色的实例代码
2018/01/23 jQuery
详解使用React进行组件库开发
2018/02/06 Javascript
JQuery选中select组件被选中的值方法
2018/03/08 jQuery
layui实现table加载的示例代码
2018/08/14 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
2020/07/19 Javascript
Vue实现图书管理小案例
2020/12/03 Vue.js
通过Python实现自动填写调查问卷
2017/09/06 Python
解决Python下imread,imwrite不支持中文的问题
2018/12/05 Python
set在python里的含义和用法
2019/06/24 Python
Python3实现二叉树的最大深度
2019/09/30 Python
python创建ArcGIS shape文件的实现
2019/12/06 Python
IDLE下Python文件编辑和运行操作
2020/04/25 Python
python函数中将变量名转换成字符串实例
2020/05/11 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
欧洲高端品牌直销店:Fashionesta
2016/08/31 全球购物
Gap中国官网:美式休闲风服饰
2017/02/05 全球购物
全球摩托车装备领导者:RevZilla
2017/09/04 全球购物
Hush Puppies澳大利亚官网:舒适的男女休闲和正装鞋
2019/08/24 全球购物
违反学校规定检讨书
2014/01/18 职场文书
庆元旦广播稿
2014/02/10 职场文书
村委会贫困证明范本
2014/09/17 职场文书
2015年学校关工委工作总结
2015/04/03 职场文书
严以律己学习心得体会
2016/01/13 职场文书
httpclient调用远程接口的方法
2022/08/14 Java/Android