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)。

相关推荐
超级种码3 小时前
Java:JavaAgent技术(java.instrument和java.attach)
java·开发语言·python
天天向上10243 小时前
go 配置热更新
开发语言·后端·golang
晨晖23 小时前
顺序查找:c语言
c语言·开发语言·算法
wadesir3 小时前
C++非对称加密实战指南(从零开始掌握RSA加密算法)
开发语言·c++
编程修仙4 小时前
第三篇 Vue路由
前端·javascript·vue.js
a程序小傲4 小时前
阿里Java面试被问:.Java 8中Stream API的常用操作和性能考量
开发语言·windows·python
比老马还六4 小时前
Bipes项目二次开发/硬件编程-设备连接(七)
前端·javascript
掘金一周4 小时前
前端一行代码生成数千页PDF,dompdf.js新增分页功能| 掘金一周 12.25
前端·javascript·后端
爱装代码的小瓶子4 小时前
【c++进阶】从C++98到C++11的奇妙旅程(故事科普版)
开发语言·c++
智航GIS4 小时前
2.3 运算符详解
开发语言·python