预览加载中,请您耐心等待几秒...
1/2
2/2

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

JavaScript面对对象程序设计序言基于对象还是面对对象?面对对象技术是当代软件开发中的重要技术之一。面对对象变成的好处毋庸置疑,目前的主流语言如Java、C++都是面对对象的。目前的面对对象理论更多的是使用Java或C++进行描述,究其根源,在于这些语言都是老式的面对对象语言,具备面对对象理论所指明的一切特性:类、封装、继承、多态等等。相比而言,某些动态语言如JavaSript就显得不那么面对对象——最少,在JavaScript中并没有类class这一核心字。不过,在JavaScript中并不是没有类的概念。于是有人说,JavaScript是基于对象的语言,而不是面对对象的语言。面对对象的语言具备三个特性:封装、继承和多态,三者缺一不可;基于对象的语言一般仅仅是使用对象,其实现的是封装,并没有提供后两种特性。确实,从语法上来说,JavaScript并没有特定的语法或者在语言级别上来实现继承和多态。不过,这并不妨碍我们使用这些特性。这是因为,JavaScript是一个灵活的语言,它是相称的灵活,以至于这些并没有提供的东西,更确切的说,是没有明确的表白的东西,都是能够实现和使用的!那么,你还能说JavaScript是基于对象而不是面对对象的吗?面对对象也是一个思想,任何语言,包括C语言,同样能够使用面对对象的思想去处理现实生活中的各种问题。到底是基于对象还是面对对象,这些概念让计算机哲学家门去争论吧——相信他们的争论最后也会和先有鸡还是先有蛋的问题同样的成果——我们所要做的,是要使用这种语言提供的机制去处理我们的问题。为何要有JavaScript的面对对象编程?这个问题很严肃——这取决你问题的规模和应用的范围。就像JavaEE和PHP同样:PHP能实现的东西,JavaEE都能实现,那么,为何还要有PHP?因为JavaEE太复杂了,对于某些简单的系统,根本没有必要是使用它,也就是所谓的“杀鸡焉用牛刀”。JavaScript重要应用于Web开发中。在老式的Web开发模式中,JavaScript起到的是某些点缀的作用,只完成很有限的功效,例如表单验证等。于是,JavaScript多被当做一个过程性语言使用,极难完成复杂的功效。而今日Web2.0的时代,Ajax大行其道,诸多复杂的脚本成为其必须的组成部分。在Ajax应用中利用JavaScript面对对象编程格调,能够使逻辑愈加清楚,也更有利于问题的处理。假如你想用JavaScript编写一个库,例如ExtJS或者YUI,极难想象你的类库不使用面对对象的编程格调——否则的话,无论是对你还是对使用者的智力都将是一个前所未有的考验!或许,自从面对对象思想提出之后,已经极难有类库不使用面对对象的方式实现了,即便是C语言的库诸如gtk+,也是用C语言将面对对象的思想体现的天衣无缝。面对对象的思想对于大型程序的编写和使用具备不可替代的作用。本系列文章将试图向读者论述JavaScript的面对对象程序设计。尽管JavaScript中具备诸多浏览器有关的概念,如document等内置对象,不过本系列将不包括这些问题,并且将假设读者已经有JavaScript基础的语法知识等。本系列文章不会从头开始讲述JavaScript的语法,仅仅从纯粹的面对对象角度审阅JavaScript,或许,你将会看到一个教程:面对对象程序设计——JavaScript语言描述。这才是本系列文章的目标。数组或许你会奇怪,面对对象的程序设计为何从数组开始讲起?这是因为……其间的种种关系吧……嘿嘿,这里先卖个关子,先来看看我们熟悉的数组在JavaScript里面是什么样子的。1.创建数组在JavaScript中有诸多创建数组的措施。例如使用Array函数。不过这不是目前我们要讲述的。目前我们使用简单的方括号“[]”的措施来创建数组。varobjAyyar=[];//1varobjAyyar=[2];//2varobjAyyar=["a","b","c"];//3varobjAyyar=[newDate(),123,"abc"];//4复制代码这里有四个创建数组的语句。下面来一一解释一下:第一句,创建一个空的数组;第二句,创建一个数组,数组元素只有一个2;第三句,创建一个数组,数组的元素分别初始化为"a","b","c";第四句,创建一个数组,其中第一个元素为一个Date类型的对象,第二个元素是数字123,第三个元素是字符串"abc"。回忆一下,在Java或者C++语言中,数组是具备相同的数据类型的元素的集合。例如使用Java语言的下面语句int[]array=newint[10];复制代码将创建一个能放入10个int类型的元素的数组。数组和其他类型的集合的一个很大的区分