欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    JavaScript 面向对象程序设计.docx

    • 资源ID:1485002       资源大小:28.50KB        全文页数:19页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JavaScript 面向对象程序设计.docx

    1、JavaScript 面向对象程序设计 JavaScript面向对象程序设计前言基于对象还是面向对象?面向对象技术是现代软件开发中的重要技术之一。面向对象变成的好处毋庸置疑,现在的主流语言如Java、C+都是面向对象的。现在的面向对象理论更多的是使用Java或C+进行描述,究其根源,在于这些语言都是传统的面向对象语言,具有面向对象理论所指明的一切特性:类、封装、继承、多态等等。相比而言,一些动态语言如JavaSript就显得不那么面向对象至少,在JavaScript中并没有类class这一关键字。但是,在JavaScript中并不是没有类的概念。于是有人说,JavaScript是基于对象的语言

    2、,而不是面向对象的语言。面向对象的语言具有三个特性:封装、继承和多态,三者缺一不可;基于对象的语言通常仅仅是使用对象,其实现的是封装,并没有提供后两种特性。的确,从语法上来说,JavaScript并没有特定的语法或者在语言级别上来实现继承和多态。但是,这并不妨碍我们使用这些特性。这是因为,JavaScript是一种灵活的语言,它是相当的灵活,以至于这些并没有提供的东西,更确切的说,是没有明确的表明的东西,都是可以实现和使用的!那么,你还能说JavaScript是基于对象而不是面向对象的吗?面向对象也是一种思想,任何语言,包括C语言,同样可以使用面向对象的思想去解决现实生活中的各种问题。到底是基

    3、于对象还是面向对象,这些概念让计算机哲学家门去争论吧相信他们的争论最终也会和先有鸡还是先有蛋的问题一样的结果我们所要做的,是要使用这种语言提供的机制去解决我们的问题。为什么要有JavaScript的面向对象编程?这个问题很严肃这取决你问题的规模和应用的范围。就像JavaEE和PHP一样:PHP能实现的东西,JavaEE都能实现,那么,为什么还要有PHP?因为JavaEE太复杂了,对于一些简单的系统,根本没有必要是使用它,也就是所谓的“杀鸡焉用牛刀”。JavaScript主要应用于Web开发中。在传统的Web开发模式中,JavaScript起到的是一些点缀的作用,只完成很有限的功能,例如表单验证

    4、等。于是,JavaScript多被当做一种过程性语言使用,很难完成复杂的功能。而今天Web2.0的时代,Ajax大行其道,很多复杂的脚本成为其必须的组成部分。在Ajax应用中利用JavaScript面向对象编程风格,能够使逻辑更加清晰,也更有利于问题的解决。如果你想用JavaScript编写一个库,比如ExtJS或者YUI,很难想象你的类库不使用面向对象的编程风格否则的话,无论是对你还是对使用者的智力都将是一个前所未有的考验!或许,自从面向对象思想提出之后,已经很难有类库不使用面向对象的方式实现了,即便是C语言的库诸如 gtk+,也是用C语言将面向对象的思想表现的天衣无缝。面向对象的思想对于大

    5、型程序的编写和使用具有不可替代的作用。本系列文章将试图向读者阐述JavaScript的面向对象程序设计。尽管JavaScript中具有很多浏览器相关的概念,如 document等内置对象,但是本系列将不涉及这些问题,并且将假设读者已经有JavaScript基础的语法知识等。本系列文章不会从头开始讲述 JavaScript的语法,仅仅从纯粹的面向对象角度审视JavaScript,或许,你将会看到一个教程:面向对象程序设计JavaScript 语言描述。这才是本系列文章的目的。数组或许你会奇怪,面向对象的程序设计为什么从数组开始讲起?这是因为其间的种种关系吧嘿嘿,这里先卖个关子,先来看看我们熟悉的

    6、数组在JavaScript里面是什么样子的。1. 创建数组在JavaScript中有很多创建数组的方法。比如使用Array函数。不过这不是现在我们要讲述的。现在我们使用简单的方括号“”的办法来创建数组。 var objAyyar = 。 / 1var objAyyar = 2。 / 2var objAyyar = a, b, c。 / 3var objAyyar = new Date(), 123, abc。 / 4复制代码这里有四个创建数组的语句。下面来一一解释一下:第一句,创建一个空的数组;第二句,创建一个数组,数组元素只有一个2;第三句,创建一个数组,数组的元素分别初始化为a, b, c

    7、;第四句,创建一个数组,其中第一个元素为一个Date类型的对象,第二个元素是数字123,第三个元素是字符串abc。回顾一下,在Java或者C+语言中,数组是具有相同的数据类型的元素的集合。比如使用Java语言的下面语句 int array = new int10。复制代码将创建一个能放入10个int类型的元素的数组。数组和其他类型的集合的一个很大的区别是,数组里面只能存放相同数据类型的元素(使用泛型的集合除外)。但是,像上面的第四句,JavaScript的数组怎么能存放不同类型的元素呢?这是因为,JavaScript是弱类型的语言,没有很大的数据类型的差别,所以数组的元素可以放入不同的类型。2

    8、. 操作数组数组是元素的有序集合。数组中的元素是有序的,这就可以通过下标访问到数组中的每个元素。而且,JavaScript的数组相当的灵活。当你习惯了Java或者C+的数组之后,或许并不习惯JavaScript的数组。在一定程度上,这种数组可以称为一种动态数组。看这样一段代码: var arr = 1, 2, 3, 4, 5。 alert(arr.length)。 / 数组长度为5alert(arr3)。 / arr3 = 4arr9 = 10。 / 改变了数组的长度为10alert(arr7)。alert(arr.length)。复制代码首先创建一个数组arr,可以看到它的长度是5,arr3

    9、是4。这些都是很常见的。那么第三句,arr9 = 10。就有点意思了在Java中,这句操作将导致数组越界的异常,在C+中,这种操作是极其危险的。但是在JavaScript中,这样的操作是正常的你可以动态的改变数组的大小!虽然你在创建数组时并没有这么大的长度,但是,你可以在创建之后指定它!这时的arr.length已经自动的变成 10了。那么,arr7又会是什么呢?经过运行代码我们会看到,arr7是undefined。也就是说,虽然arr9有了值,但是其中从 arr5到arr8这几个元素都是未定义的,也就是undefined。如果你问JavaScript怎么不给个初始值?唉,饶了它吧!JavaS

    10、cript并不知道你想要它初始化成什么值啊!万一错了呢?干脆还是别了吧var arr = 1, 2, 3, 4, 5。 alert(arr.length)。 / 数组长度为5delete arr3。 / 删掉第4个元素alert(arr.length)。 / 长度不变alert(arr3)。 / arr3 = undefinedarr.length = 4。 / 缩短长度alert(arr4)。arr.length = 10。 / 增加长度alert(arr6)。复制代码上面的代码也很有意思:使用delete操作符可以删除任意一个数组元素,但是长度并不改变。Java的数组也有一个length属

    11、性,用来显示数组的长度。JavaScript的数组也有这个属性。但是,和Java不同的是,后者的 length属性并不是只读的!你可以任意的设置数组的length属性的值,无论是扩大还是缩小!只是如上面的代码所示,改变了length之后,越界的元素或者以前没有定义的元素都将成为undefined。也就是说,当length大于原始长度时,从原长度到length - 1的元素都将成为undefined;当length小于原始长度时,从length到原长度 - 1的元素也都会清除设置为undefined。3. 非数字的下标?如果动态的length属性还不够灵活的话,那么,JavaScript的数组还

    12、有另外的能力。你见到过用字符串做数组下标的吗?Java行吗?C+行吗?JavaScript就行!看看下面的语句: var arr = 1, 2, 3。alert(arr1 = arr1)。arrjs = 4。alert(arrjs)。复制代码上面的语句看到,arr1和arr1实际是一样的效果!这是怎么回事呢?我们用下面的语句验证一下: alert(1 = 1)。 / truealert(1 = 1)。 / false复制代码由于JavaScript是弱类型语言,所以在使用变量的时候,JavaScript会尽可能的将它转换成所需要的类型。比如数组下面需要数字,那么提供一个字符串,将会试图把字符串

    13、转换成数字。这里的1就成功的转换成了数字1,于是这个语句就成立了。这就是使用 = 操作符返回true的原因。而 = 操作符不允许这样的类型转换,所以会返回false。那么,这个arrjs怎么也能成立呢?这就不是上面的问题了。也就是说,JavaScript实际是允许将字符串作为数字下标的。这在JavaScript中是完全合法的。对象1. 对象对象是面向对象程序设计的基础概念之一,只需看看这个名字就已经知道了。在我们熟悉的面向对象语言中,比如Java或者C+,都有着类似的对象定义方法。比如,我们想定义一个类,名字叫Person,有两个属性:name和age,另外有一个方法,将显示出这个Person

    14、对象的名字和年龄,那么我们可以用下面的代码实现:Java: public class Person private String name。 private int age。 public String getName() return name。 public void setName(String name) this.name = name。 public int getAge() return age。 public void setAge(int age) this.age = age。 public void introduction() System.out.println(My

    15、 name is + this.name + , my age is + this.age)。 public static void main(String args) Person p = new Person()。 p.setName(Tom)。 p.setAge(20)。 p.introduction()。 复制代码C+的实现也是类似的,这里不再赘述。我们先来看一下这个类的定义:首先声明属性,然后定义属性的getter和setter方法,用来外界访问私有变量,最后定义了它自己的方法。这是一个比较常见的定义方式,以至于以后的很多语言,比如C#,都采用这种定义。那么,什么是对象呢?对象不过是具有特定属性和方法的集合。虽然这并不是一个严格的定义,但是将属性和它的名字(不妨我们把它的方法也看作是它的属性,这并没有什么不同)放在一起,形成一个集合,这就是对象。也就是说,简单来看,对象就是


    注意事项

    本文(JavaScript 面向对象程序设计.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开