zoukankan      html  css  js  c++  java
  • javascript实现继承方法

    javascript继承概念:js是基于对象的,他没有类的概念,所以实现继承,需要使用js的原型prototype机制或者用applay和call方法实现

    1、原型链继承

    为了让子类继承父类的属性(也包括方法),首先需要定义一个构造函数。然后,将父类的新实例赋值给构造函数的原型。

    function parent(){

      this.name="garuda";

    }

    function child(){

      this.sex="man"

    }

    child.prototype=new parent();//核心:子类继承父类,通过原型形成链条

    var test=new child();

    console.log(test.name);

    console.log(test.sex);

    备注:在js中,被继承的函数称为超类型(父类、基类),继承的函数称为子类型(子类、派生类)。

        使用原型继承存在两个问题:一是面量重写原型会中断关系,使用引用类型的原型,二是子类型还无法给超类型传递参数

    2、借用构造函数继承

    function parent(){

      this.name="garuda";

    }

    function child(){

      parent.call(this);//核心:借父类型构造函数增强子类型(传参)

    }

    var test =new parent();

    console.log(test.name);

    3、组合继承(原型链和构造函数组合)

    function parent(){

      this.name="garuda";

    }

    function borther(){

      return this.name;

    }

    function child(){

      parent.call(this)

    }

    child.prototype=new parent();

    var test=new parent();

    console.log(test.borther())

  • 相关阅读:
    【C# 代码小技巧】巧用 linq select 实现遍历集合返回元素 index
    [转载] redis 学习
    Html5 Canvas斗地主游戏
    K-近邻算法(KNN)
    Sql 把Xml字符串转换成一张表
    Asp.Net Mvc4分页,扩展HtmlHelper类
    SQL 分割字符串
    http://q.cnblogs.com/q/54251/
    读强化学习论文之MADDPG
    【回归】记Paddle强化学习训练营
  • 原文地址:https://www.cnblogs.com/wangpengfei8313/p/8302537.html
Copyright © 2011-2022 走看看