对原型以及原型链的简单理解

一、原型

1.每个函数上面都有一个prototype属性,指向了函数的原型对象(函数名.prototype)
2.每个实例上面都有一个隐型的__proto__指向函数的原型对象(函数名.prototype)
3.实例访问属性或者方法的时候遵循实例上存在就用实例上的属性和方法,不存在就顺着__proto__往上查找,找到就停止的原则
4.每个函数的原型对象上都有一个constructor属性,指向构造函数本身
5.每个原型上还有一个__proto__属性,指向上一级原型对象(例如:Person.prototype.proto == Object.prototype 输出true)

二、原型链

当对象寻找某一个属性的时候,如果自身的属性上没有找到就去原型对象上找,如果原型对象上没有找到就去原型的原型上查找,以此类推就构成了一条原型链。

三、作用

1.可以手动修改某个对象的原型
2.构造函数添加属性,原型上添加方法可以更好的封装一个类(方法也定义在构造函数上会造成内存浪费)

全部评论

相关推荐

练习生懒羊羊:开飞机把这个公司创飞吧
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-11 13:34
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
qq乃乃好喝到咩噗茶:院校后面加上211标签,放大加粗,招呼语也写上211
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务