- 浏览: 824986 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (530)
- Java编程 (64)
- C/C++/D (6)
- .Net/C# (9)
- Ruby (12)
- JavaScript (77)
- XML (1)
- JSON (1)
- Ajax (17)
- ExtJs (81)
- YUI (1)
- JQuery (7)
- DWR (1)
- HTML (7)
- CSS (7)
- Database (6)
- PowerDesigner (23)
- DB2 (2)
- Oracle (57)
- MS SQL Server (8)
- MySQL (6)
- JSP/Servlet/JSTL/TagLib (3)
- Spring (1)
- Hibernate (0)
- iText (0)
- Struts (0)
- Struts2 (0)
- iReport (0)
- FreeMarker (0)
- HttpClient (1)
- POI (6)
- FckEditor (15)
- Eclipse / MyEclipse (10)
- IntelliJ IDEA (0)
- NetBeans (0)
- Tomcat (11)
- WebLogic (1)
- Jboss (3)
- jetty (4)
- IIS (2)
- CVS/VSS (1)
- FTP (1)
- Windows/DOS (6)
- Linux/Unix (0)
- 软件建模 UML (0)
- Design Pattern & Thinking In Programming (10)
- 数据结构与算法 (12)
- 软件项目管理 (9)
- 行业应用解决方案 (3)
- 电脑软件与故障解决 (13)
- 编程语言 (1)
- 十万个为什么 (3)
- JBPM (2)
- sysbase (2)
- JDBC (8)
- Ant (2)
- Case-计算机辅助软件工程 (1)
- WebService (4)
- 浏览器 (1)
最新评论
-
gaoqiangjava:
同一楼,还请大手帮解决
JAVA读取word文件 -
hyl523:
// 判断数组中的第一个值是否未定义,如果未定义,便定义为空对 ...
javascript面向对象之二 命名空间 -
ping12132200:
ping12132200 写道我抱着个错不是因为:body标签 ...
extjs在IE报对象不支持此属性或方法 -
ping12132200:
我抱着个错不是因为:body标签内的第一个元素不能为文本tex ...
extjs在IE报对象不支持此属性或方法 -
fireinjava:
呀,不错,转走了,谢谢啦~
利用OpenOffice将word转换成PDF
javascript中本没有命名空间的概念,但是要体现面向对象的思想,应当有命名空间,就像java中的package,.net中的namespace一样,作用主要为了防止类名冲突,相同的类名只要属于不同的命名空间,便不会冲突。
最简单创建命名空间的方法:
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 JsObject.namespace = function() { /* * 下面代码中arguments为函数传入的参数, 在function未明确定义参数时, * function也可以传入参数,并用arguments来接收, arguments类似数组, * 如果传入多个参数,将按顺序保存,取值法:arguments[0],arguments[1].... */ var a = arguments; var o = null; var d; var 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 org.myJs.Student = function() { // 定义类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);
评论
1 楼
hyl523
2013-05-03
// 判断数组中的第一个值是否未定义,如果未定义,便定义为空对象{},并赋值给变量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]];
}
下面这些看得不大明白啊。。。。
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]];
}
下面这些看得不大明白啊。。。。
发表评论
-
javascript面向对象之一 类
2011-06-06 16:46 952javascript中的类多数是用 ... -
网页特效代码
2011-06-01 16:38 10511. Flip! 一个 jQuery 插件 http://l ... -
js 操作select 大全
2010-11-04 13:49 6991判断select选项中 是否存在Value="pa ... -
Dialog 超酷js弹出层 完美兼容所有浏览器 华丽呈现超强功能
2010-11-03 13:05 1318http://www.iteye.com/topic/4800 ... -
IE6对display:table-row不支持
2010-11-02 19:34 1569http://topic.csdn.net/u/2010070 ... -
javascript中字符串转化为json对象
2010-07-30 09:11 1185http://www.json.org/js.html To ... -
IE6的base标签导致页面结构大混乱
2010-07-20 16:27 1044这是一个非常隐秘也是非常强大的bug,我真不知微软的IE开发人 ... -
汇总让IE6崩溃的几种方法
2010-07-20 16:25 1104经常遇到莫名其妙让IE6崩溃的事情。今天看到了一篇好文章,数字 ... -
JS添加事件处理函数
2010-07-08 23:41 1055作为一种事件驱动的编 ... -
js压缩工具
2010-07-04 23:50 1759javascriptcompressor.com ( ... -
Javascript 中 ShowModalDialog 的使用方法
2010-06-21 16:13 1395ShowModalDialog函数的功能 ... -
xtree的基本应用---入门级
2010-06-21 16:08 1190由于公司要求做一棵关于公司员工选择的JS控件树,以前我们一直使 ... -
javascript实现上传图片前的预览效果
2010-06-16 20:35 1356<script>function yulan(){ ... -
重写window.confirm函数
2010-06-12 11:06 2273重写window.confirm函数为了让它能够默认选择取消按 ... -
改善window的alert提示信息框样式
2010-06-12 11:05 1422<input type="button&quo ... -
jsgraphics图形库
2010-05-10 22:58 1587http://www.walterzorn.com/jsgra ... -
JavaScript图形库jsGraphics
2010-05-10 22:57 2444JavaScript图形库Raphaël < JavaS ... -
千一JS控件
2010-05-10 22:31 807千一JS控件--滑块条 千一JS控件--进度条 千一JS控 ... -
JavaScript 生成曲线图
2010-05-10 22:28 1182引用方法 new gov.Graphic(par1,par2 ... -
腾讯检测 IP 省市的接口
2010-05-10 22:26 1421利用 JavaScript 调用。 <script ...
相关推荐
javascript中本没有命名空间的概念,但是要体现面向对象的思想, 应当有命名空间,就像java中的package,.net中的namespace一样, 作用主要为了防止类名冲突,相同的类名只要属于不同的命名空间,便不会冲突。...
对于这种情况我们就需要使用面向对象的思想来开发JavaScript。那我们就这样作罢: 对于一个项目,首先要有个命名空间。所以我们首先要做的是定义一个函数来注册命名空间。代码如下: 代码如下: // 声明一个全局对象...
上几节讲了 JavaScript 面向对象之命名空间 、 javascript 面向对象的JavaScript类 、 JavaScript 面向对象的之私有成员和公开成员 与 Javascript 面向对象之重载,大家可以先看上面的再继续往下看。在JavaScript...
上几节讲了 JavaScript 面向对象之命名空间 、 javascript 面向对象的JavaScript类 与 JavaScript 面向对象的之私有成员和公开成员 ,大家可以先看上面的再继续往下看。假如 我这样定义: 代码如下: function ...
6.javascript 命名空间 Oject-Oriented 1.JavaScript Expressive 2. Interfaces 3.Introduction 4. Inheritance 5.AOP Jquery [jQuery][9] [jQuery架构设计与实现][10] [jQuery选择器库][11] [zepto][12] 1....
上两节讲了 JavaScript 面向对象之命名空间 与 javascript 面向对象的JavaScript类,大家可以先看上面的再继续往下看。其实很简单,废话少说,看了下面的代码及注释相信你就会一目了然! 代码如下: //声明类,就是一...
大家好,根据我的学习经验总结了下面一些javascript面向对象方法的知识,希望对一些接触这方面不多的人有所帮助,有不正确的地方请指正。 学习内容;引用,函数重载和类型检查,作用域,图解prototype和constructor...
在上一节面 JavaScript 面向对象之命名空间 中说了怎么定义JavaScript命名空间,这一节来说下紧接着的一个概念——类。虽然JavaScript中没有class关键字,但作为开发人员我们一定要有这个思想。在C#中类可以分为...
6.javascript 命名空间 Oject-Oriented 1.JavaScript Expressive 2. Interfaces 3.Introduction 4. Inheritance 5.AOP Jquery [jQuery][9] [jQuery架构设计与实现][10] [jQuery选择器库][11] [zepto][12] 1....
6.javascript 命名空间 Oject-Oriented 1.JavaScript Expressive 2. Interfaces 3.Introduction 4. Inheritance 5.AOP Jquery [jQuery][9] [jQuery架构设计与实现][10] [jQuery选择器库][11] [zepto][12] 1....
其实这还是和编码思想和代码管理的便利度相关(没有提及名字空间污染的问题是因为我相信已经考虑到模块化思想的编码者应该至少有了一套自己的命名法则,在中小型的站点中,名字空间污染的概率已经很小了,但也不代表...
代码如下: //声明类,就是一个方法,其实在JavaScript中,命名空间、类、成员…. 一切皆对象 MyClass =function(){ var _this=this; //私有变量 var aa=”11″; //公开变量 this.bb=”22″; //私有方法 function ...
8.5 作为命名空间的函数 8.6 闭包 8.7 函数属性、方法和构造函数 8.8 函数式编程 第9章 类和模块 9.1 类和原型 9.2 类和构造函数 9.3 JavaScript中Java式的类继承 9.4 类的扩充 9.5 类和类型 9.6 JavaScript中的...
8.5 作为命名空间的函数 8.6 闭包 8.7 函数属性、方法和构造函数 8.8 函数式编程 第9章 类和模块 9.1 类和原型 9.2 类和构造函数 9.3 JavaScript中Java式的类继承 9.4 类的扩充 9.5 类和类型 9.6 JavaScript中的面向...
9.6 JavaScript中的面向对象技术217 9.7 子类230 9.8 ECMAScript 5 中的类239 9.9 模块248 第10章 正则表达式的模式匹配253 10.1 正则表达式的定义253 10.2 用于模式匹配的String方法261 10.3 ...
8.5 作为命名空间的函数 8.6 闭包 8.7 函数属性、方法和构造函数 8.8 函数式编程 第9章 类和模块 9.1 类和原型 9.2 类和构造函数 9.3 JavaScript中Java式的类继承 9.4 类的扩充 9.5 类和类型 9.6 JavaScript中的面向...