javascript实现继承主要方式
2017-04-10 17:56
387 查看
javascript继承
我理解的javascript的继承关键点是从其他对象上获取方法和属性到本对象上。所以基于本思想结合日常项目经验总结一下四种常用的继承方式:1:构造继承
构造继承类似于Java中的继承思想,关键是在子对象的构造函数中,通过this和call方法,继承父对象的方法和属性,则在实例化子对象时,子对象同样具有父对象的属性和方法。
function A(){ this.show1=function(){ console.log("我是父类"); }; }; function B(){ A.call(this); this.show2=function(){ console.log("我是子类"); }; }; //这样new出的B类对象,既具有A的方法,也具有B的方法。
2:原型链继承
我们都知道,对应面向对象语言,存在接口继承和实现继承,但ECMAScript无法实现接口继承,只支持实现继承(原型链)。
所以利用原型让一个引用类型继承另一对象的属性和方法,即为原型链继承。
function B(){ this.show2=function(){ console.log("我是子类"); }; }; function A(){ this.show1=function(){ console.log("我是父类"); }; }; B.prototype=new A();//即为实现原型链继承
3:组合式继承
组合式继承可以综合构造函数继承和原型链继承的优势。关键是利用构造函数继承实现属性继承,利用原型链实现方法的继承。这里不具体举例。
4:寄生式继承
关键:在拷贝原有对象原型基础上扩展新的属性和方法,构造新原型。
function Object(obj1){ functon ObjectChild(){}; ObjectChild.prototype=obj1; return new ObjectChild(); }; //以上函数,传入一个对象可以拷贝出子对象返回。在此基础上实现寄生继承。 function createObject(obj1){ var clone=object(obj1); //以下可以在克隆对象继承上添加新属性和方法 clone.say=function(){}; //返回扩展后的子对象 return clone; return new ObjectChild(); }; //这样闯入一个父对象就可以得到继承并扩展后的子对象。
相关文章推荐
- JavaScript中实现继承的几种方式的使用和分析
- JavaScript面向对象编程(继承实现方式)
- javascript实现继承的几种方式
- 详述JavaScript实现继承的几种方式
- javascript实现继承的几种方式
- javascript中实现对象继承的五种方式详解
- 实现JavaScript中继承的三种方式
- javascript中实现继承的三种方式(一看就懂)
- javascript使用call方式实现对象继承
- JavaScript中实现继承的几种方式的使用和分析
- JavaScript中实现继承的几种方式
- javascript实现继承的六种方式
- javascript实现继承的几种方式
- JavaScript实现继承的方式和原理
- javascript实现继承的方式
- 推荐JavaScript实现继承的最佳方式
- JavaScript中实现继承的三种方式和实例
- javascript 中实现继承的六种方式
- 基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
- JavaScript程序中实现继承特性的方式总结