zoukankan      html  css  js  c++  java
  • 构造函数 实例对象 原型对象三者之间的关系以及修改原型后产生的影响

    1.要明白这三者的关系 首先要明白这三者都是什么 是怎么来的

    构造函数:构造函数和普通函数并没有什么实质性的区别,都是函数;

    原型对象:每个构造函数在声明的时候,系统会自动在内存中生成一个空对象,这个对象就是 原型对象

    实例对象:构造函数通过new 方法 就会得到一个实例对象,new的过程分为5个步骤:

    1:创建空对象

    2:将这个空对象的原型,指向构造函数的prototype属性

    3:将构造函数中的this指向当前的空对象

    4:为空对象添加属性和值

    5:返回对象的地址

     

    2.知道怎么来的,然后介绍着三者关系

    构造函数是根据具体的事物抽象出来的抽象模板

    实例对象是根据抽象的构造函数模板得到的具体实例对象

    实例对象由构造函数而来,一个构造函数可以生成很多具体的实例对象,而每个实例对象都是独一无二的;

    每个构造函数都有一个属性prototype,这个属性就指向他的原型对象,

    每个对象都有一个constructor属性,该属性指向创建该实例的构造函数(null没有自己的原型对象。 )

    每个实例对象都有一个__proto__ 属性,这个属性指向原型对象。

    三者之间的关系如图:

     

    当我们手动修改构造函数的默认原型时,关系如下:

  • 相关阅读:
    [2019 CSP-S赛前集训] [CF1037D] Valid BFS?
    [2019 CSP-S赛前集训] [洛谷P1613] 跑路
    [2019 CSP-S赛前集训] [洛谷P1967] 货车运输
    [洛谷博客] 我的洛谷博客内容搬运
    终于开通了博客
    Qt Creator 添加arm版本的qmake时的问题
    U盘挂载问题
    段错误解决办法
    printf %m
    使用pthread_create()创建线程
  • 原文地址:https://www.cnblogs.com/ruoruchujian/p/10909099.html
Copyright © 2011-2022 走看看