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

相关推荐
bemyrunningdog2 分钟前
二进制权限控制方案
javascript·react.js·ecmascript
汪子熙13 分钟前
深入探析 header facets:定位与应用
前端·javascript
江城开朗的豌豆18 分钟前
Vue Router vs location.href:导航跳转的正确姿势,你选对了吗?
前端·javascript·vue.js
Humbunklung21 分钟前
Rust方法语法:赋予结构体行为的力量
开发语言·后端·rust
萧曵 丶28 分钟前
Rust 内存结构:深入解析
开发语言·后端·rust
2401_8812444029 分钟前
javaweb———html
前端·javascript·html
江城开朗的豌豆29 分钟前
玩转Vue Router:这些实用组件让你的SPA如虎添翼!
前端·javascript·vue.js
前端小巷子32 分钟前
Web开发中的文件下载
前端·javascript·面试
算法练习生34 分钟前
Qt核心类QWidget及其派生类详解
开发语言·c++·qt
1024小神1 小时前
tauri项目在windows上的c盘没有权限写入文件
c语言·开发语言·windows