JS原型链理解

时间:2023-03-09 08:30:53
JS原型链理解

1. 每个对象都有原型属性(__proto__)
2. 对象的原型(__proto__)指向其构造函数(Class)的prototype属性
3. 构造函数(Class)的prototype属性本身也是一个对象,其原型(__proto__)亦指向其构造函数的prototype
4. 如此形成一个链式结构,而Class.prototype若没有自定义构造函数,则其始终是一个对象,构造函数为Object,
  原型为Object.prototype
5. Object.prototype的原型为null,原型链结束

原型链一般用来查找对象的属性和方法,进行类的继承等功能

相关方法

object.hasOwnProperty(propName)  判断对象本身是否有该成员,而不是从原型链继承的成员

object1.isPrototypeOf(object2)        判断object1是否在object2的原型链上