JS-函数显示原型与隐式原型

1.每个函数(function)都有一个prototype,即显式原型属性,它是在定义函数时自动添加的,默认值是一个空Object对象(没有我们自己指定的属性或方法),但Object不满足.

2.每个实例对象都有一个__proto__,即隐式原型属性,实例对象的__proto__属性是在创建对象时自动添加的,默认值为其构造函数的prototype(显式原型)属性值.所有函数的__proto__都是一样的,因为函数都是new Function()构造器产生的.

3.实例对象的隐式原型的值为其对应的构造函数的显式原型的值.

4.我们能直接操作显示原型,但不能直接操作隐式原型(ES6之前)

5.原型链:访问一个对象的属性时,先在自身属性中查找,找到返回;如果没有,再沿着__proto__(隐式原型属性)这条链向上查找,找到返回;如果最终没有找到则返回undefined.因为原型链是沿着__proto__(隐式原型属性)查找,所以又叫隐式原型链.原型链的作用是查找对象属性(方法)的.

6.Object的原型对象是原型链的尽头.console.log(Object.prototype.__proto__);//null

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值