图解原型和原型链

图解原型和原型链前言知识 结论 原型 把一个函数称为类的话 原型就是每个类都有的属性 作用 给这类添加属性 分为两类 显式原型 prototype 和隐式原型 proto 所有函数对象 Function 都有显式原型 所有对象 如 Object Function Array 等对象 都有隐式原型原型链 本质是链表 proto 相当于链表的指针 指向下一个对象 每个对象都有 proto 属性 它指向构造函数的 prototype 属性 构造函数的 prototype 属性的 proto 属性

前言知识、结论:

原型:

  • 把一个函数称为类的话,原型就是每个类都有的属性
  • 作用:给这类添加属性
  • 分为两类:显式原型prototype 和 隐式原型 __proto__
  • 所有函数对象(Function)都有显式原型
  • 所有对象(如Object、Function、Array等对象)都有隐式原型

原型链:

  • 本质是链表,__proto__相当于链表的指针,指向下一个对象
  • 每个对象都有__proto__属性,它指向构造函数的prototype属性,构造函数的prototype属性的__proto__属性指向下一个对象的peototype属性,就这样一层层网上查找,直到找到最顶层的对象Object.prototype。这个过程就是原型链
  • 函数的顶层对象是Function.prototype
  • 对象的顶层对象是Object.prototype

new 的过程:

  • 使用 new 关键字,首先创建了一个空的对象 
  • 这个空的对象有__proto__属性,指向的是它的构造函数的prototype属性
  • 将this指向的是new 出来的实例对象 
  • 执行构造函数里面的语句
  • 最后返回新的对象,如果构造函数有return 值,就返回return值

图解原型链:

图解原型和原型链


原型链相关应用:

  • instanceof:在原型链上一层层查找,如果在原型链上有该对象,返回true
  • 继承:
    • ES6:extends
    • ES5:原型链继承、构造函数继承、组合继承、寄生组合继承
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232612.html原文链接:https://javaforall.net

(0)
上一篇 2025年9月27日 下午7:01
下一篇 2025年9月27日 下午7:22


相关推荐

  • Midjourney使用教程—2.作品修改

    Midjourney使用教程—2.作品修改

    2026年3月15日
    3
  • 教你怎么用三种办法找到发给你QQ的坦白说的那个人

    教你怎么用三种办法找到发给你QQ的坦白说的那个人今天先不写关于技术的 另外关于建站的文章我这几天会更新 毕竟还有工作要做 没有那么多的精力写教程 今天要写的是一个比较简单的 通过抓包的方式定位到给你发坦白说的那个人 ok 废话不多说 我们开始做 没做之前说一下 网上很多的办法可以激活成功教程的 如果您不是程序员的话看 可以直接试试网上的比较简单的办法 例如给那个人发一个日迹 然后看浏览的记录 等等办法 都是可以的 只是作为一个程序员 我不喜欢用这么

    2026年3月17日
    2
  • 面试官:MySQL事务是怎么实现的

    面试官:MySQL事务是怎么实现的前言用过 MySQL 的同学都知道 它的 InnoDB 存储引擎 是通过事务来保证数据的一致性的 数据库事务通常包含了一个序列的对数据库的读 写操作 包含有以下两个目的 为数据库操作序列提供了一个从失败中恢复到正常状态的方法 同时提供了数据库即使在异常状态下仍能保持一致性的方法 当多个应用程序在并发访问数据库时 可以在这些应用程序之间提供一个隔离方法 以防止彼此的操作互相干扰 特性说到事务

    2026年3月18日
    2
  • 压力测试tps是啥意思_高并发压力测试

    压力测试tps是啥意思_高并发压力测试最近在对代码进行压力测试,这里整理一下压测中的指标和方法。文章目录1压力测试中的指标1.1TPS1.2QPS1.3平均处理时间(RT)1.4并发用户数(并发量)1.5换算关系1.5TPS和QPS的区别2压力测试方法3相关文档1压力测试中的指标1.1TPSTPS即TransactionsPerSecond的缩写,每秒处理的事务数目。一个事务是指一个客户机向服…

    2022年4月19日
    98
  • 静态路由的基本配置实验总结_三个路由器配置静态路由

    静态路由的基本配置实验总结_三个路由器配置静态路由静态路由的基本配置静态路由配置图如下PC1IP地址:192.168.1.2PC2IP地址:192.168.2.2PC3IP地址:192.168.3.2PC4IP地址:192.168.4.2R1IP地址:f1/0192.168.3.1f0/2192.168.4.1s2/01.1.1.1R2IP地址:f0/0192.168.1.1f1/0192.168.2.1s2/01.1.1.2配置好四台电脑

    2026年3月4日
    6
  • pycharm中格式化快捷键是什么_pycharm复制代码

    pycharm中格式化快捷键是什么_pycharm复制代码(1)快捷键:Ctrl+Alt+L可以将代码格式工整化(2)鼠标点击

    2022年8月25日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号