javascript创建对象、对象继承的实用方式详解_基础知识

javascript创建对象、对象继承的实用方式详解_基础知识

ID:30779816

大小:53.50 KB

页数:5页

时间:2019-01-03

javascript创建对象、对象继承的实用方式详解_基础知识_第1页
javascript创建对象、对象继承的实用方式详解_基础知识_第2页
javascript创建对象、对象继承的实用方式详解_基础知识_第3页
javascript创建对象、对象继承的实用方式详解_基础知识_第4页
javascript创建对象、对象继承的实用方式详解_基础知识_第5页
资源描述:

《javascript创建对象、对象继承的实用方式详解_基础知识》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、javascript创建对象、对象继承的实用方式详解本文约定:不特殊声明的情况下,属性代指属性或方法。创建对象、对象继承实际上是一回事:我们所需要的实例对象通过构造函数获得私冇屈性、通过原型链获得共享的屈性。什么是好的方式?私冇屈性通过构造函数的方式获得(不考虑实例中自定义私有属性)且不需要重写,共享属性通过原型链找到且不需要重复创建。普适的方式组合使用构造函数模式和原型模式创建对彖functionHNU_student(name){this.name二name;this.sayName二func

2、tion(){returnthis•name;};}HNU_student.prototype二{school:'HNU',saySchool:function(){returnthis,school;}};Object・defineProperty(HNU_student,'constructor',{value:HNU_student});varhiyohoo=newHNU_studentCxujian5);通过字面量的方式会重写prototype,且原型的constructor指向了Obje

3、ct,必要的情况卜'需要重新定义constructoro寄生组合式继承functionobject(o){functionF(){};F.prototypc二o;returnnewF();functioninheritPrototype(child,parent){varprototype二object(parent.prototype);prototype.constructor=chiId;child.prototype二prototype;}functionHNU_student(name)

4、{this.name二name;this.sayName二function(){returnthis•name;};}HXU_student.prototype,school二'HXU";HNU_student•prototype.saySchool=function(){returnthis,school;};functionStudent_2011(name,number){HNU_student.cal1(this,name);this•number二number;this.sayNumbe

5、r=function(){returnthis,number;}}inheritPrototype(Studcnt_2011,IINU_studcnt);Student_2011.prototype,graduationTime=2015;Student_2011.prototype.sayGraduationTime=function(){returnthis.graduationTime;};varhiyohoo=newStudent_2011(Jxujian,,20110803203);ob

6、ject()的作用:将作为参数传入的对象变成实例的原型,该对象的属性被所有实例共享。共享属性:inheritPrototype(Student_2011,HNU_student);,构造函数原型成为超构造函数原型的一个实例,超构造函数原型屮的屈性共享给子构造函数。私有属性:HNUstudent.call(this,name);,通过子构造函数创建实例时调用超构造函数创俺私有属性。创建对象的其他方式动态原型模式functionHNU_student(name){this.name二name;this

7、.sayName二function(){returnthis•name;};if(!HNU_student.prototype,school){HXU_student.prototype,school二'HXU";HNU_student•prototype.saySchool=function(){returnthis,school;};}}varhiyohoo二newIINU_studcnt(Jxujian,);将定义在原型中的共享属性放入构造函数中,使用判断语句,在第一次调用构造函数创建实例时

8、,初始化原型共享属性。寄生构造函数模式functionSpecialArray(){varvalues=newArray();values,push,apply(values,arguments);values.toPipedString二function(){returnthis.join(,I,);};returnvalues;}varcolors=newSpecialArrayCred",'black",'white');用于为原生构造函数添加特殊的属性。对象继承的其他方式组

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。