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

相关推荐
周杰伦fans6 分钟前
C# 中的 `Hashtable`
开发语言·c#
习习.y11 分钟前
关于python中的面向对象
开发语言·python
lingggggaaaa11 分钟前
免杀对抗——C2远控篇&PowerShell&有无文件落地&C#参数调用&绕AMSI&ETW&去混淆特征
c语言·开发语言·笔记·学习·安全·microsoft·c#
技术净胜11 分钟前
MATLAB 基因表达数据处理与可视化全流程案例
开发语言·matlab
友友马12 分钟前
『Qt』多元素控件
开发语言·qt
hmbbcsm19 分钟前
练习python题目小记(六)
开发语言·python
前端加油站25 分钟前
一种新HTML 页面转换成 PDF 技术方案
前端·javascript·vue.js
w***Q35031 分钟前
Vue打包
前端·javascript·vue.js
有事没事实验室36 分钟前
router-link的custom模式
前端·javascript·vue.js
4***V20237 分钟前
Vue3响应式原理详解
开发语言·javascript·ecmascript