JavaScript+jQuery交互式Web前端开发(第2版) 课件 第11章 JavaScript面向对象.pptx

JavaScript+jQuery交互式Web前端开发(第2版) 课件 第11章 JavaScript面向对象.pptx

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第11章JavaScript面向对象;学习目标/Target;学习目标/Target;学习目标/Target;章节概述/Summary;目录/Contents;面向对象概述;了解面向过程与面向对象,能够阐述面向过程与面向对象的区别;11.1.1面向过程与面向对象的区别;;下面对比面向对象和面向过程的区别,具体如下表所示。;熟悉面向对象的特征,能够归纳面向对象的三大特征;1.封装;2.继承;;3.多态;实际上JavaScript被设计为一种弱类型语言(即一个变量可以存储任意类型的数据),就是多态的体现。例如,数字、数组、函数都具有toString()方法,当使用不同的对象调用该方法时,执行结果不同,示例代码如下。;在面向对象中,多态的实现往往离不开继承,这是因为多个对象继承同一个对象后,就获取了相同的方法,然后可以根据每个对象的特点来改变同名方法的执行结果。;虽然面向对象具有封装、继承和多态的特征,但并不代表只要满足这些特征就可以设计出优秀的程序,开发人员还需要考虑如何合理地运用这些特征。

例如,在封装时,如何给外部调用者提供完整且最小的接口,使外部调用者可以顺利得到想要的功能,而不需要研究其内部的细节;在进行继承和多态设计时,如何为同类对象设计一套相同的方法进行操作等。;类与对象概述;了解类与对象的概念,能够阐述类与对象的区别;;;类是指创建对象的模板,类的作用是将对象的特征抽取出来,形成一段代码,通过这段代码可以创建出同一类的对象。例如,开发学生管理系统时,可以创建一个学生类,将学生的共同特征写在类中,然后通过类创建出所需的学生对象。

创建同类对象的意义是这些对象拥有相同的属性名和方法名,即拥有相同的特征,在使用对象时,只需要记住同类对象的属性名和方法名,而不需要区分每个对象。;;掌握类的定义和继承,能够定义类及类中的属性和方法、实现子类继承父类;1.类的定义;下面以定义Student类为例演示类的定义。;2.类的继承;下面以子类继承父类的money()方法为例演示类的继承。;掌握调用父类的方法,能够使用super关键字调用父类的构造方法或普通方法;;1.调用父类的构造方法;原型;掌握原型对象的使用,能够实现原型对象的访问??使用;;;在JavaScript中,原型对象是一个构造函数的所有实例对象的原型,每个构造函数都有一个原型对象,使用构造函数的prototype属性可以访问原型对象。;下面通过代码演示如何访问构造函数Person1()的原型对象。;当为原型对象添加方法时,原型对象的方法会被所有实例对象共享。例如,为Person1()构造函数的原型对象添加一个introduce()方法,示例代码如下。;使用构造函数创建的对象,不能实现方法共享。如果想要实现方法共享,可以将方法定义在原型对象中,当实例对象调用方法时就会访问原型对象的方法。;11.3.1原型对象;11.3.1原型对象;11.3.1原型对象;了解成员查找机制,能够描述成员查找的顺序;当访问一个实例对象的成员时,JavaScript首先会判断实例对象是否拥有这个成员,如果实例对象拥有这个成员,则直接使用,否则将会在原型对象中搜索这个成员。

如果原型对象中有这个成员,就使用该成员,否则继续在原型对象的原型对象中查找。如果按照这个顺序没有查找到,则返回undefined。;下面通过代码演示成员查找机制。;熟悉原型链的相关知识,能够绘制原型链;;11.3.3原型链;11.3.3原型链;11.3.3原型链;11.3.3原型链;11.3.3原型链;11.3.3原型链;11.3.3原型链;11.3.3原型链;11.3.3原型链;;多学一招;多学一招;多学一招;掌握利用原型对象扩展数组方法的案例,能够编写代码实现案例;本案例将实现扩展Array()数组对象操作方法,为数组对象添加sum()方法,实现数组元素的求和。

根据成员查找机制,当对象不存在某个属性或方法时,将会到该对象的原型对象中进行查找,因此可以将sum()方法写在Array对象的原型对象中,以便所有的实例对象可以使用该方法进行数组求和。;更改this指向;掌握this指向的更改,能够灵活应用apply()方法、call()方法和bind()方法更改this指向;11.4更改this指向;JavaScript提供了可以更改this的指向的3个方法,分别是apply()方法、call()方法和bind()方法,这3个方法都通过函数对象来调用,表示将函数中this的指向更改为指定的对象。apply()方法和call()方法都会调用函数并更改this指向,而bind()方法不会调用函数。;apply()方法、call()方法和bind()方法的第1个参数

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档