js 原型链分析

原型链

前景介绍

在 js 中原型链主要是为了实现面向对象语言中继承的特性。

对于前端从业者来说,原型链确实是非常重要,具有划分性的知识,掌握好原型链的问题能让你更好的理解 js 的原型继承机制。

原型链图示

原型链的学习从一张图开始可能更好理解,也应该在学习后能够自己画出来。

这张图可以说是根据几个主要的特点来画出来的:

  1. 任意对象都有自己的原型对象,在 js 中万物皆对象,因此函数也是对象。也就是 __proto__ 属性。
  2. 只有函数有 prototype 属性。
  3. __proto__ 链的尽头是 Object.prototype --> 这个对象的 __proto__属性是 null
  4. 原型链就是顺着 __proto__ 属性向上寻找的路径。主要是用于继承。
  5. 关于上层的 FunctionObject 这两个都是构造函数,互相为对方的实例,JS 引擎在初始化时硬编码实现的,不是靠代码递归创建的。
相关推荐
凡人叶枫5 小时前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++
春日见5 小时前
车辆动力学:前后轮车轴
java·开发语言·驱动开发·docker·计算机外设
锐意无限5 小时前
Swift 扩展归纳--- UIView
开发语言·ios·swift
低代码布道师5 小时前
Next.js 16 全栈实战(一):从零打造“教培管家”系统——环境与脚手架搭建
开发语言·javascript·ecmascript
念何架构之路5 小时前
Go进阶之panic
开发语言·后端·golang
一位搞嵌入式的 genius5 小时前
深入 JavaScript 函数式编程:从基础到实战(含面试题解析)
前端·javascript·函数式
亓才孓6 小时前
[Properties]写配置文件前,必须初始化Properties(引用变量没执行有效对象,调用方法会报空指针错误)
开发语言·python
傻乐u兔6 小时前
C语言进阶————指针3
c语言·开发语言
两点王爷6 小时前
Java基础面试题——【Java语言特性】
java·开发语言
choke2336 小时前
[特殊字符] Python 文件与路径操作
java·前端·javascript