JavaScript 编程引入命名空间
来源:互联网 发布:淘宝系统异常 编辑:程序博客网 时间:2024/05/17 23:53
JavaScript 代码一般最常见的语法格式就是定义函数 function xxx(){/*code...*/},经常有这样的一大堆函数定义。函数名很容易发生冲突,特别是引入多个js文件时,冲突的情况尤为明显。因此也就有引入命名空间的必要。
Javascript 本身没有命名空间的概念,需要用对象模拟出来。
比如定义一个命名空间的类,用于创建命名空间:
再创建子命名空间:
Javascript 本身没有命名空间的概念,需要用对象模拟出来。
比如定义一个命名空间的类,用于创建命名空间:
function NameSpace(){}
这是一个构造函数,但却不做任何事情,再来下面和评论有关的代码:var comment = new NameSpace();
comment.list = function(){/*code...*/};
comment.counter = 0;
第一行创建所谓命名空间(其实就是一个空白对象),名为comment,第二、三行定义该空间下的两个方法。调用时可以使用 comment.list() 或者 comment.counter++ 等;comment.list = function(){/*code...*/};
comment.counter = 0;
再创建子命名空间:
comment.add = new NameSpace();
comment.add.post = function(){/*code...*/}
comment.add.check = function(){}
之所以引入命名空间的概念,是为了避免函数名相同的问题。上面的过程也可以这样定义:comment.add.post = function(){/*code...*/}
comment.add.check = function(){}
var comment = {
list : function(){/*code...*/},
add : {
post : function(){/*code...*/},
check : function(){/*code...*/}
}
}
prototype.js 里面就大量使用这种方式,虽然这种方式更直观地像一棵树,但只要节点稍多一些,眼睛就忙于寻找这些节点的关系,命名空间的做法是横向地描述这种关系树,层次关系直接表现在字面上,两种方式效果一致,但书写风格却各有特点。list : function(){/*code...*/},
add : {
post : function(){/*code...*/},
check : function(){/*code...*/}
}
}
- JavaScript 编程引入命名空间
- JavaScript 编程引入命名空间 - Dnew.cn - New Technol Union
- javascript 使用命名空间编程
- spring 引入命名空间
- javascript 使用命名空间编程2
- js模拟引入命名空间
- spring 引入命名空间简介
- php命名空间与引入
- Spring命名空间如何引入
- spring 命名空间引入方法
- Javascript命名空间
- javascript 命名空间
- javascript 命名空间
- javascript 命名空间
- javascript命名空间
- Javascript中的命名空间
- javascript 命名空间
- javaScript 命名空间
- 台积电董事会批准10亿美元股票回购计划
- 信息系统项目管理师考试试题讲解视频教程
- 六大运营商公布地震灾区通信恢复情况
- Yacc 与 Lex 快速入门
- 从程序员角度看ELF | Linux-Programming-国学
- JavaScript 编程引入命名空间
- Tutorial 2: Detecting a Valid PE File
- PKU1411 Calling Extraterrestrial Intelligence Again
- 解决死锁导致网站访问故障的具体实例
- 大连将在2015年启动跨海大桥建设
- flex与java相结合开发时需注意的问题
- Java Reflection API简介
- 2008年5月15日,FORM表单挂入系统流程
- I/O处理类的完整总汇