zoukankan      html  css  js  c++  java
  • JavaScript里的原型(prototype), 原型链,constructor属性,继承

    ① __proto__constructor 属性是 对象 所独有的。

    prototype 属性是 函数 所独有的。

    ** JS里函数也是引用类型的对象,所以函数也有 __proto__ 和 constructor 属性

      __proto__ 和 原型链

    (1)__proto__ 属性都是由一个对象指向一个对象,即指向它们的 原型对象

    (2)__proto__ 属性存在的作用:当访问一个对象属性A时,如果当前对象自身内部没有这个属性,就会上溯到__proto__ 属性所指的对象(原型对象 / 父级对象),如果父级对象自身也不存在这个属性,则上溯到父级对象的 __proto__ 属性所指的对象,一直上溯到原型链顶端 null, 最终没找到 属性A时,则返回 undefined

    (3)通过 __proto__ 属性来连接对象直到 null 的一条链即是原型链

      prototype

     (1)prototype 属性都是由一个函数A指向一个对象,即函数A的原型对象(父级对象),  这个原型对象也是 由该函数A所创建的(实例化)对象的原型对象

        ( new funA() ).__proto__   ===   funA.prototype

     (2)prototype 属性存在的作用:该属性可以包含所有实例对象共享的属性和方法。( 这里的实例对象是又该函数所实例化的)

       constructor

     (2)constructor 属性都是由:一个对象指向一个函数。指向该函数的构造函数。每个对象都有构造函数,Function这个函数构造函数是它本身。所有函数和对象最终都是由Function构造函数得来,所以 constructor 属性的终点就是Function这个函数。

      继承

      继承是指一个对象直接使用另外一个对象的属性和方法。

    参考连接:https://chen-cong.blog.csdn.net/article/details/81211729

  • 相关阅读:
    python:返回函数,闭包
    对象的行为和数组
    类、对象和包
    Java语言中的程序流程控制
    初识Java,Java语言概述
    有限广播地址与直接广播地址
    H3C模拟器HCL注意事项
    HDLC协议
    NETBIOS的作用
    HP DL380G7 RAID配置
  • 原文地址:https://www.cnblogs.com/winyh/p/11130304.html
Copyright © 2011-2022 走看看