最后更新于6个月前
这有帮助吗?
JavaScript 的原型链是一种用于实现对象之间继承和共享属性与方法的机制
function Person() {} Person.prototype.sayHello = function() { console.log('Hello'); }; let person1 = new Person(); person1.sayHello(); // 输出Hello,因为person1可以访问到其原型对象(Person.prototype)上的sayHello方法
构造函数有一个prototype属性,它指向一个对象,这个对象就是由该构造函数创建的所有对象的原型对象。
prototype
实例上会有 __proto__ 字段,指向该示例的构造函数
__proto__
当访问一个对象的属性或方法时,如果该对象本身没有这个属性或方法,JavaScript 会自动在其原型对象上查找。如果原型对象上也没有,就会继续在原型对象的原型对象上查找,以此类推,直到找到Object.prototype。如果在整个原型链上都没有找到,就会返回undefined。
Object.prototype
undefined
向上查找到顶端时,为 null
null