原型对象,原型链,隐式原型

深入探讨JavaScript中的原型对象、隐式原型及原型链机制,解析对象属性查找流程,从构造器到原型对象,直至最顶层Object。

原型对象:每一个构造器中都有一个属性叫做prototype,他的值是一个对象,这个对象我门叫做 原型对象。

隐式原型:每一个对象都有一个属性叫做proto,他指向了创建这个对象的构造器的原型对象。

原型链:是一个对象属性的查找机制,对象先在自己的私有属性中找,找不到就沿着proto去构建这个对象函数的构造器的原型对象中找,如果还找不到,就继续沿着proto去构造 对象的构造器的原型对象的构造器的原型对象中去找。

如下图:Array是一个构造器,var arr= new Array,可以认为是Array构造了arr, arr的proto指向Array的原型对象,而Array的原型对象的proto指向Object的原型对象,由于Object是最顶层的,Object的proto指向null,在JS中万物皆来自虚无。构造器的prototype指向原型对象,构造器构造出来的对象arr的proto指向构造器的原型对象
在这里插入图片描述

当arr要找一个属性时,现在自己的私有属性中找,找不到就去Array的原型对象中去找,如果还找不到就去Object的原型对象中去找,如果Object的对象中也没有,就报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值