zoukankan      html  css  js  c++  java
  • JS 的 继承

    JS 早期没有继承的原因,可以在这里找到. 实现 继承有多种方式,下面一一列举

    1,利用class

    ES 6推出 class 后,我们可以使用 extends 来实现继承

    class Polygon {
      constructor(height, width) {
        this.name = 'Polygon';
        this.height = height;
        this.width = width;
      }
    }
    
    class Square extends Polygon {
      constructor(length) {
        super(length, length);
        this.name = 'Square';
      }
    }

    2,利用call或apply方法

    // Animal原型上的方法不会被Cat继承
    function Animal(){
        
    }
    function Cat(name,color){
      Animal.apply(this);
      this.name = name;
    }

    3,利用prototype

    function Animal(){}
    Animal.prototype.run = function(){
        console.log('run');
    }
    function Cat(name,color){
      this.name = name;
    }
    Cat.prototype = new Animal();
    Cat.prototype.constuctor = Cat();
    var cat = new Cat('ami','red')
    cat.run()

    4,拷贝prototype继承

        function _extend(Child, Parent) {
    
        var p = Parent.prototype;
    
        var c = Child.prototype;
    
        for (var i in p) {
    
          c[i] = p[i];
    
          }
    
        c.__super = p;
    
      }
  • 相关阅读:
    html5-移动端布局模板
    html5-figure和figcaption元素
    html5-hgroup和address元素
    html5-新元素新布局模板-完善中
    数据库操作符
    数据库操作,复制表
    数据库基本sql语句
    反射+工厂模型+Properties
    java :动态代理
    java 反射
  • 原文地址:https://www.cnblogs.com/xiaxiaodong/p/8280698.html
Copyright © 2011-2022 走看看