码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript继承的几种模式

时间:2015-11-11 20:41:32      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:

原型链

  让一个类的原型对象指向另一个类的实例

  技术分享

  问题1:引用类型会被共享,一个实例对象更改了值会在所有的对象中更新

  问题2:创建子类对象时,不能向超类构造函数中传值

借用构造函数  

  技术分享

  可向超类构造函数传值

  问题:无法复用方法

组合继承

  使用原型链实现对原型属性和方法的继承,而通过借用构造函数来实现对实例属性的继承。

   调用两次超类构造函数

   技术分享

  技术分享

原型式继承

  创建一个临时性的构造函数,将传入的对象作为构造函数的原型。返回一个实例。所有返回的实例,共享构造函数中的引用类型

寄生式继承

  创建一个用于封装继承的函数。在函数内部新增方法来增强对象,返回对象实例。

  技术分享

   技术分享

寄生组合式继承  

  不必为了子类型的原型而调用超类型的构造函数,只需要一个超类型的副本

  技术分享

  技术分享

 

JavaScript继承的几种模式

标签:

原文地址:http://www.cnblogs.com/amibandoufu/p/4957226.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!