- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JavaScript面向对象程序设计.doc
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函数。不过这不是现在我们要讲述的。现在我们使用简单的方括号“[]”的办法来创建数组。
var objAyyar = []; // 1
var objAyyar = [2]; // 2
var objAyyar = [a, b, c]; // 3
var objAyyar = [new Date(), 123, abc]; // 4
复制代码
这里有四个创建数组的语句。下面来一一解释一下:第一句,创建一个空的数组;第二句,创建一个数组,数组元素只有一个2;第三句,创建一个数组,数组的元素分别初始化为a, b, c;第四句,创建一个数组,其中第一个元素为一个Date类型的对象,第二个元素是数字123,第三个元素是字符串abc。回顾一下,在Java或者C++语言中,数组是具有相同的数据类型的元素的集合。比如使用Java语言的下面语句
int[] array = new int[10];
复制代码
文档评论(0)