zoukankan      html  css  js  c++  java
  • javascript继承--原型链的 继承

    作者的话:原型链是JavaScript中相当重要的一个知识点,这里我使用了函数结构图,来帮助我更好的理解

     1 /*
     2 原型链继承方式:
     3     通过改变一个对象的原型对象的指向来继承另一个对象
     4     原理:
     5         我们知道,一个对象的实例会继承他的原型对象的所有属性和方法。所以说,如果,我们继承对象的原型对象,是被继承对象的原型对象的实例的话,那么,他不就继承了被继承对象的原型对象的所有属性和方法了么
     6 */
     7 //创建一个被继承对象,并给他两个属性
     8 function a(){
     9     this.name = "兔子只吃胡萝卜";
    10     this.age=12;
    11 }
    12 
    13 /*
    14     利用构造方法来创建继承对象
    15 */
    16 //创建一个继承对象,这里我们不给他设置任何属性
    17 function b(){
    18 }
    19 //我们让继承对象的原型对象得到被继承对象的实例
    20 b.prototype = new a();
    21 //我们为继承对象创建一个实例
    22 var b1 = new b();
    23 console.log(b1.name);//"兔子只吃胡萝卜"
    24 console.log(b1.age);//12
    25 
    26 /*
    27     直接创建继承对象的实例
    28 */
    29 var c = {
    30 };
    31 c.__proto__ = new a();
    32 console.log(c.name);//"兔子只吃胡萝卜"
    33 console.log(c.age);//12

    原型链继承中,存在着缺陷,其中,最明显的缺陷就是在使用引用类型的时候,会导致原型对象中,引用的数据发生改变,从而影响了我们需要使用的数据

  • 相关阅读:
    [python] defaultdict
    [VM workstation]VM workstation 中的虚拟机连不上网络
    [Docker] docker 基础学习笔记1(共6篇)
    [python] import curses
    servlet 产生随机验证码
    JSTL标签库 sql标签
    JSTLLearning
    Ajax实现联想(建议)功能
    HDU 1241
    Servlet实现文件上传
  • 原文地址:https://www.cnblogs.com/tangwanzun/p/6023964.html
Copyright © 2011-2022 走看看