美文网首页
几种继承方式

几种继承方式

作者: last_edc | 来源:发表于2016-12-21 23:10 被阅读15次

1.组合继承####

使用原型链继承超类的函数,利用构造函数继承超类的属性。

    function Super(name){
      this.name=name,
      this.colors = ['yellow','blue','green'],
    }
    Super.prototype.sayName = function(){
      alert(this.name);
    }
    function Sub(name,age){
      Super.call(this,'Json');
    }
    Sub.prototype = new Super();
    Sub.prototype.constructor = Sub;

2.原型式继承

    function object(o){
      function F(){}
      F.prototype = o;
      return new F();
    }  

可以使用ECMAScript5的Object.create()(第一个参数传用作新对象原型的对象,第二个传新对象的额外属性)

3.寄生式继承(即创建一个封装继承过程的函数)

    function createOther(o){
      var clone = Object.create(o);
      clone.sayName = function () {
        alert('hello');
      }
      return clone
    }  

4.寄生式组合继承(避免组合继承两次调用超类构造函数的性能问题,避免在原型上添加不必要的属性和方法)

    function inherit(Sub,Super){
      var pro = Object.create(Super.prototype);
      pro.constructor = Sub;
      Sub.prototype = pro;
    }
    function Super(name){
      this.name=name,
      this.colors = ['yellow','blue','green'],
    }
    Super.prototype.sayName = function(){
      alert(this.name);
    }
    function Sub(name,age){
      Super.call(this,'Json');
    }
    inherit(Sub,Super);

相关文章

  • 几种继承方式

    1.组合继承#### 使用原型链继承超类的函数,利用构造函数继承超类的属性。 2.原型式继承 可以使用ECMASc...

  • JS闭包-继承

    形成一个闭包函数里面返回一个函数 继承继承的几种方式1.ES6 extends 继承的几种方式1.构造函数继承构造...

  • 前端面试题目(二)

    javascript对象的几种创建方式 javascript继承的6种方法 详情:[JavaScript继承方式详...

  • JavaScript的六种继承方式

    JavaScript的几种继承方式 原型链继承 借助构造函数继承(经典继承) 组合继承:原型链 + 借用构造函数(...

  • 继承的几种方式

    1、原型链 如何实现 存在的问题 最主要的问题就是包含引用类型值的原型。 总结 很少单独使用原型链来实现继承。 2...

  • 继承的几种方式

    构造函数,原型和实例的关系每个构造函数都有一个原型对象prototype,原型对象中有个constructor属性...

  • js几种继承方式

    注意: 1,constructor总是指向类的构造函数 2,__proto__指向父类的原型对象 1,原型链继承 ...

  • js面向对象总结

    1、类与实例 类的声明 实例化 2、类与继承 继承的几种方式

  • JS面向对象

    类与实例 创建类 实例化 类与继承 实现继承的几种方式 方式一:利用构造函数进行继承 但是这种方法缺点是无法继承父...

  • category与extension

    category与extension 转载iOS实现多继承的几种方式 转载

网友评论

      本文标题:几种继承方式

      本文链接:https://www.haomeiwen.com/subject/iahcvttx.html