JS面试题:说一下什么是原型、原型链?

发布时间:2024年01月17日

? ? 原型:

? ? ? ? 每个构造函数都有一个prototype属性,即 显式原型属性,它指向构造函数的原型对象

? ? ? ? 每个实例对象都有一个__proto__属性,即 隐式原型属性,它指向构造函数的原型对象

? ? ? ? 通过显式原型属性向原型对象上设置值,通过隐式原型属性向原型对象上读取值,即 实例对象的隐式原型属性值等于其构造函数的显式原型属性值

? ? 原型链:

? ? ? ? 每个构造函数的原型对象,默认是一个空的Object构造函数的实例对象,也都有一个__proto__属性

? ? ? ? 实例对象和原型对象的__proto__属性连接起来的一条链,即 原型链,它的尽头是Object构造函数的原型对象的__proto__属性

? ? ? ? 当在实例对象上读取值时,先在实例对象本身上找,当找不到,再通过__proto__属性,在其构造函数的原型对象上找,

? ? ? ? 如果还找不到,就继续沿着__proto__属性向上找,直到Object构造函数的原型对象的__proto__属性为止,此时值为null。

文章来源:https://blog.csdn.net/m0_74802419/article/details/135650290
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。