zoukankan      html  css  js  c++  java
  • 构造函数的五种继承方法

    1、使用call或apply绑定构造函数

    animal.apply(this.arguments)

    2、使用prototype属性

    Cat.prototype=new Animal();

    Cat.prototype.constructor=Cat;

    var cat1=new Cat("大毛","黄色");

    alert(cat1.species);//动物

    3、直接集成prototype属性

    function Animal(){}

    Animal.prototype.species="动物";

    Cat.prototype=Animal.prototype;

    Cat.prototype.constructor=Cat;

    var cat1=new Cat("大毛","黄色");

    alert(cat1.species);//动物

    4、利用空对象作为中介

    var F=function(){};

    F.prototype=Animal.prototype;

    Cat.prototype=new F();

    Cat.prototype.constructor=Cat;

    将上面的方法封装成一个函数,便于使用:

    function extend(Child.Parent){

    var F=function(){};

    F.prototype=Parent.prototype;

    Child.prototype=new  F();

    Child.prototype.constructor=Child;

    Child.uber=Parent.prototype;

    }

    5、拷贝继承

    function extend2(Child.Parent){

      var p=Parent.prototype;

     var c=Child.prototype;

    for(var i in p){

         c[i]=p[i];

    }

    c.uber=p;

    }

    这个函数的作用,就是将父对象的prototype对象中的属性--拷贝给Child对象的prototype对象

  • 相关阅读:
    bzoj1724[Usaco2006 Nov]Fence Repair 切割木板*
    vue-cli脚手架和webpack-simple模板项目
    Vue-router 进阶
    前端路由vue-router介绍
    vue的一些特殊特性
    生命周期钩子
    过滤器
    RSA加密算法
    欧几里得算法
    动态规划
  • 原文地址:https://www.cnblogs.com/zzp0320/p/7245138.html
Copyright © 2011-2022 走看看