什么是原型链_Javascript如何查找属性

admin 百科 12
JavaScript原型链是对象属性查找的核心机制:从自身开始,沿__proto__逐级向上搜索至null;prototype是函数的属性,指向实例的原型;__proto__是实例的内部原型引用;constructor指向构造函数。

什么是原型链_Javascript如何查找属性-第1张图片-佛山资讯网

JavaScript 中的原型链是对象查找属性的核心机制。当你访问一个对象的属性时,如果该对象自身没有这个属性,JS 引擎会沿着它的 __proto__(即内部原型)向上查找,直到找到该属性,或到达原型链末端(null)为止。

原型链是怎么形成的

每个对象都有一个内部属性 [[Prototype]](可通过 __proto__ 访问),它指向该对象的原型对象。函数对象还有 prototype 属性,用于指定其“实例”的原型。

例如:

  • function Person() {} 定义后,Person.prototype 是一个对象,其 constructor 指向 Person
  • const p = new Person() 创建实例后,p.__proto__ === Person.prototype
  • Person.prototype.__proto__ === Object.prototype,因为函数的 prototype 默认继承自 Object
  • Object.prototype.__proto__ === null,这是原型链的终点。

属性查找过程:从自身到 null

当读取 obj.prop 时,引擎按以下顺序搜索:

立即学习“Java免费学习笔记(深入)”;

标签: javascript es6 java js

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~