Javascript如何实现继承_第1页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、javascript如何实现继承1、构造函数模式url=file:/c:/users/i037145/appdata/local/temp/msohtmlclip1/01/clip_image001.gif/urlfunction person(name,age,job) = name; this.age = age; this.job = job; this.sayname = function() alert(); ; varperson1 = new person("nicholas",29,"s

2、oftware engineer");varperson2 = new person("greg",27,"doctor");person1.sayname();/"nicholas"person2.sayname();/"greg"alert(person1.constructor = person);/truealert(person2.constructor = person);/truealert(person1 instan

3、ceof object);/truealert(person1 instanceof person);/truealert(person2 instanceof object);/truealert(person2 instanceof person);/trueurl=file:/c:/users/i037145/appdata/local/temp/msohtmlclip1/01/clip_image001.gif/url问题:每个办法都要在每个实例上重新创建一遍。在前面的例子中,person1和person2都有一个名为sayname()的办法,但那两个办法不是同一个function的实

4、例。alert(person1.sayname =person2.sayname);/false然而,创建两个完成同样任务的function实例确实没有须要;况且有this对象在,根本不用在执行代码前就把函数绑定到特定对象上面。因此,可以通过把函数定义转移到构造函数外部来解决这个问题:url=file:/c:/users/i037145/appdata/local/temp/msohtmlclip1/01/clip_image001.gif/urlfunction person(name,age,job) = name; this.age = age; this.job =

5、 job; this.sayname = sayname; functionsayname() alert(); varperson1 = new person("nicholas",29,"software engineer");varperson2 = new person("greg",27,"doctor");alert(person1.sayname = person2.sayname);/trueurl=file:/c:/users/i037145/appdata/local/temp/msohtmlclip1/01/clip_image001.gif/url问题:在全局作用域中定义的函数事实上只能被某个对象调用,这让全局作用域有点名不副实。更让人无法接受的是:假如对象需要定义无数办法,那么就要定义无数个全局函数,于是我们这个自定义的引用类型就丝毫

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论