第5章 JavaScript中的继承.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 JavaScript中的继承 在上一章中,已经学习了Document对象的属性和方法。在实际开发中,大量的JavaScript方法让初学者非常难以学习。有什么方法可以迅速学习和掌握JavaScript呢?在本章中,将要学习如何使用JavaScript面向对象的特征,使开发者容易学习、掌握JavaScript技术。 本章5.1节,将向读者讲解基本的JavaScript面向对象的特征。自5.2节至5.4节,将向读者讲解JavaScript高级面向对象的特征—继承。通过本章的学习,相信聪明的读者一定可以掌握面向对象的JavaScript开发技术。 5.1 JavaScript中的对象 编程语言发展至今,基本上都是面向对象的语言。面向对象的语言十分优雅、便于学习和掌握、可以多次重用。在JavaScript中,大量使用内置对象。实际上,开发者可以利用JavaScript面向对象的特征,定义类、对象,从而进行面向对象开发。 5.1.1 什么是对象 在JavaScript中,没有明确的对类、对象等概念定义,但是JavaScript用其自己的方式实现了这些概念。 一般面向对象的语言里,对象被认为是通过类的构造函数进行实例化的,即类的实例。所有的对象都是由类进行定义的,具有类中定义各种属性和方法的实例。在JavaScript中,这些特征都得以实现。并且在JavaScript中,构造函数依然可以自定义,并且可以进行重载。 在JavaScript中的对象被认为是特性的集合。特性可以是函数、也可以是普通的成员变量或其他类的引用。如果特性是1个函数,那么该函数被认为是当前对象的方法,普通的成员变量被认为是对象的属性。 5.1.2 声明及实例化对象 JavaScript中,声明对象的可以通过var关键字进行。示例代码如下: var obj; JavaScript与其他面向对象的语言一样,也定义了new关键字作为实例化对象的操作符。实例化1个对象可以通过以下的代码实现: var obj1=new Object(); 在JavaScript中,对象的类型由实例化的类型决定。 5.1.3 对象的引用及销毁 在JavaScript中,变量可以存储原始值和引用值。原始值被认为存储在栈中,拥有固定大小,可以直接操纵。引用值被认为存储在堆中,引用值仅仅是内存指针即实际对象的引用。 实际上在JavaScript中,有5种类型的对象被认为是以原始值存储的。undefined、boolean、number、string、object5个类的对象大小固定,使用栈分配内存,故而被认为是原始值。在这里要特别指出的是null,null被认为是指向空object对象的引用。当运行以下代码时,结果为object。 function createObject() { var obj=null; alert(typeof(obj)); } 5.1.4 绑定机制 绑定机制是语言实现的关键,绑定机制是指将对象类型与对象实例紧密结合,通知编译器当前对象具有什么方法和属性。 绑定机制有两种,早期绑定和晚期绑定。 早期绑定:早期绑定是开发者最熟悉和使用最多的一种绑定方式。早期绑定具有这样的特点:对象声明时,对象的属性和方法就被编译成为对象的一部分、对象的类型一旦确定就不能进行随意的更改、对象类型的变换必须遵循特定的规则。在Java、C#、VB.NET这样的强类型语言中,都采用了早期绑定的方式。 晚期绑定:在一些弱类型的语言中,晚期绑定被大量使用。晚期绑定具有这样的特点:对象声明时,对象的属性和方法并没有编译为对象的一部分,而是在运行期动态检查对象是否具有相应的属性和方法。在JavaScript等弱类型的语言中,都采用了晚期绑定的方式。晚期绑定导致这些弱类型语言不能进行实时报错。 5.1.5 对象分类 在JavaScript中,将对象进行了分类,具有3种类型的对象:本地对象、内置对象、宿主对象。 本地对象是指不依赖浏览器实现,由JavaScript内部提供的内置类型。本地对象包括以下类型,如表所示。 5.1.6 作用域、静态作用域、this关键字 作用域的概念即变量的作用范围,在面向对象的语言中作用域的概念尤为重要。C#、VB.NET、Java都提供了private、public、protectetd、friend、virturl等关键字进行作用域的约束,在JavaScript中只有一种作用域即公有作用域。在JavaScript中,所有对象的所有属性和方法都默认为公有的。 静态作用域也是面向对象开发中常见的作用域,静态作用域是指作用域适用于类,即所有对象都具有的。但是在JavaScript中,不能使用static、shared等关键字定义静态作用域。在JavaScript中,使

您可能关注的文档

文档评论(0)

白领文档(原创) + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档