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

一、原型

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

二、原型链

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

三、作用

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

全部评论

相关推荐

在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。 建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

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