JavaScript 编程引入命名空间的方法

2016-02-19 09:28 1 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的JavaScript 编程引入命名空间的方法教程,一起来看看吧!超容易上手~

【 tulaoshi.com - Web开发 】

JavaScript 代码一般最常见的语法格式就是定义函数 function xxx(){/*code...*/},经常有这样的一大堆函数定义。函数名很容易发生冲突,特别是引入多个js文件时,冲突的情况尤为明显。因此也就有引入命名空间的必要。
Javascript 本身没有命名空间的概念,需要用对象模拟出来。
比如定义一个命名空间的类,用于创建命名空间:

function NameSpace(){
}

这是一个构造函数,但却不做任何事情,再来下面和评论有关的代码:

var comment = new NameSpace();
comment.list = function(){/*code...*/};
comment.counter = 0;

第一行创建所谓命名空间(其实就是一个空白对象),名为comment,第二、三行定义该空间下的两个方法。调用时可以使用 comment.list() 或者 comment.counter++ 等;
再创建子命名空间:

comment.add = new NameSpace();
comment.add.post = function(){/*code...*/}
comment.add.check = function(){}

之所以引入命名空间的概念,是为了避免函数名相同的问题。上面的过程也可以这样定义:

var comment = {
list : function(){/*code...*/},
add  : {
 post  :  function(){/*code...*/},
 check :  function(){/*code...*/}
}
}

prototype.js 里面就大量使用这种方式,虽然这种方式更直观地像一棵树,但只要节点稍多一些,眼睛就忙于寻找这些节点的关系,命名空间的做法是横向地描述这种关系树,层次关系直接表现在字面上,两种方式效果一致,但书写风格却各有特点。

来源:https://www.tulaoshi.com/n/20160219/1590909.html

延伸阅读
标签: Web开发
由于我在Mozilla工作的关系,我准备多谈谈Javascript 2.0。这个牵涉到很多事情(从阅读规范,Javascript在非web领域的使用,自学SML).然而,或许里面我正在面对的最有挑战的事情是量化和了解正在变化中的语言以及如何把Javascript用于一般的编程工作。 透过历史,我们发现Javascript做为一门语言已经或正在经历以下几个阶段: 我...
标签: Web开发
这个世界上确实有很多写得很差的JavaScript。 这听了让人很伤心,导致这种情况的一个最大原因就是JavaScript有一个隐式的全局作用域。这个功能本来是为那些偶尔写些代码的非开发人员准备的,但这可能是Necscape最坏的设计之一。但就像其他编程语言一样,JavaScript也还有非常大的潜力可以挖掘。 在最初设计的时候,无论是JavaScr...
标签: Web开发
----什么是类和对象     这是所有面向对象编程之前必须弄明白的.     所谓类:简单地说就是模板,说的专业一些,是一类具有某种性质的物的集合.比如:人就是一个类,车也是一个类,等等.     所谓对象:就是类的具体实现.如上面所说,人是一个类,一个具体的人就是一个对象,比如张三.   &nb...
命名空间提供了一种组织相关类和其他类型的方式。与文件或组件不同,命名空间是一种逻辑组合,而不是物理组合。在C#文件中定义类时,可以把它包括在命名空间定义中。以后,在定义另一个类,在另一个文件中执行相关操作时,就可以在同一个命名空间中包含它,创建一个逻辑组合,告诉使用类的其他开发人员这两个类是如何相关的以及如何使用它们: n...
标签: Web开发
/* +-------------------------------------------------------------------------------+ | = 本文为Haohappy读Core PHP Programming  | = 中Classes and Objects一章的笔记  | = 翻译为主+个人心得  | = 为避免可能发生的不必要的麻烦请勿转载,谢谢  ...

经验教程

372

收藏

95
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部