算法-javascript自实现继承extend(单次继承原型对象和单次继承构造函数)
2017-08-06 14:25
656 查看
# 自实现继承(单次继承构造函数) //父类的构造函数 function Father(name,age){ this.name=name this.age=age } //父类的原型对象 Father.prototype={ constructor:Father, say:function(){ console.log('i am '+this.name+' ,'+this.age+' years old') } } //类继承:只继承父类模板,不继承原型对象(借用构造函数的方法实现继承) //子类的构造函数 function Child(name,age){ //call apply 扩展父类模板使用范围 Child.superClass.constructor.call(this,name,age) } function extend(sub,sup){ //初始化:创建空函数,空模板和空原型对象 var f=new Function() //空函数:只继承父类的原型对象 f.prototype=sup.prototype //子类继承空函数,即可实现只继承原型对象,不继承构造函数 sub.prototype=new f() //还原子类的原始构造器 sub.prototype.constructor=sub //保存父类原型对象,作用1:解耦;作用2:便于获取父类的原型对象 sub.superClass=sup.prototype } extend(Child,Father) var c1=new Child('li4',21) c1.say() console.log(Father.prototype.isPrototypeOf(c1))
相关文章推荐
- JavaScript2种构造函数创建对象的模式以及继承的实现
- jQuery轮播图(二)利用构造函数和原型创建对象以实现继承
- JavaScript构造函数+原型创建对象,原型链+借用构造函数模式继承父类练习
- JavaScript2种构造函数创建对象的模式以及继承的实现
- javascript 用原型继承来实现对象系统
- javascript的构造函数,原型和以其实现的经典继承
- JavaScript 中实现继承的方式(列举3种在前一章,我们曾经讲解过创建类的最好方式是用构造函数定义属性,用原型定义方法。)
- JavaScript里面向对象的继承:不使用构造函数实现"继承"
- jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承
- JavaScript使用原型和原型链实现对象继承的方法详解
- 基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
- 基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
- javascript模拟实现继承,继承一次父类模板和原型对象
- JavaScript 利用原型和原型链实现对象继承
- JavaScript实现继承机制(1)—— 构造函数方法对象冒充
- 前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型
- js创建对象的构造函数模式+原型模式和组合继承\Hybrid Pattern & combination inheritance
- javascript面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
- javaScript中的prototype来龙去脉,原型、构造函数、实例对象