JavaScript完整原型链

在 JavaScript 中,每个函数都有一个prototype属性,这个属性是一个对象。当通过一个构造函数创建一个新的对象时,这个新对象会自动拥有一个内部属性[[Prototype]](在一些浏览器中可以通过__proto__访问,不过这是一个非标准的访问方式),它指向构造函数的prototype对象。

例如,有一个构造函数function Person(name) { this.name = name; },当我们创建一个Person的实例let person = new Person('John');,person对象的[[Prototype]](proto)就指向Person.prototype。

当我们访问一个对象的属性时,JavaScript 首先会在对象自身的属性中查找。如果没有找到,它会沿着对象的[[Prototype]](proto)所指向的对象(即构造函数的prototype)继续查找。这个查找过程会一直沿着[[Prototype]]链向上进行,直到找到目标属性或者到达Object.prototype(因为所有对象的原型链最终都会指向Object.prototype)。

相关推荐
遂心_17 分钟前
深入理解 React Hook:useEffect 完全指南
前端·javascript·react.js
前端Hardy39 分钟前
HTML&CSS: 谁懂啊!用代码 “擦去”图片雾气
前端·javascript·css
前端Hardy42 分钟前
HTML&CSS:好精致的导航栏
前端·javascript·css
一个不爱写代码的瘦子2 小时前
迭代器和生成器
前端·javascript
源猿人5 小时前
企业级文件浏览系统的Vue实现:架构设计与最佳实践
前端·javascript·数据可视化
RoyLin5 小时前
TypeScript设计模式:迭代器模式
javascript·后端·node.js
小桥风满袖7 小时前
极简三分钟ES6 - ES9中for await of
前端·javascript
编程贝多芬7 小时前
Promise 的场景和最佳实践
前端·javascript
Asort7 小时前
JavaScript 从零开始(四):基础语法详解——从变量声明到数据类型的完全指南
前端·javascript
木木jio7 小时前
前端大文件分片上传 —— 基于 React 的工程化实现
前端·javascript