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

相关推荐
前路不黑暗@35 分钟前
Java项目:Java脚手架项目的通用组件的封装(五)
java·开发语言·spring boot·学习·spring cloud·bootstrap·maven
sa1002738 分钟前
京东评论接口调用、签名生成与异常处理
开发语言·数据库·python
问今域中39 分钟前
Vue的computed用法解析
前端·javascript·vue.js
赵谨言41 分钟前
基于Python实现地理空间数据批处理技术探讨及实现--以“多规合一“总体规划数据空间叠加分析为例
大数据·开发语言·经验分享·python
扶苏10021 小时前
详解Vue3的provide和inject
前端·javascript·vue.js
独自破碎E1 小时前
BISHI40数组取精
java·开发语言
丑八怪大丑1 小时前
Java面向对象(进阶)
java·开发语言
java1234_小锋1 小时前
Java高频面试题:Java中变量和常量有什么区别?
java·开发语言·面试
enjoy嚣士2 小时前
Java 之 实现C++库函数等价函数遇到的问题
java·开发语言·c++
毕设源码-郭学长2 小时前
【开题答辩全过程】以 基于java的停车管理系统的设计与实为例,包含答辩的问题和答案
java·开发语言