当前位置: 首页 > Web前端 > HTML5

十分钟看懂JS原型和原型链

时间:2023-04-05 22:52:21 HTML5

十分钟搞懂JS原型和原型链只有函数才有自己的属性和方法,可以被构造函数实例化的对象共享。从这个例子我们可以看出Person原型链上的方法(sayHello)可以被实例化对象p1调用。而当我们删除了Person原型链上的方法后,就无法在p1上调用sayHello方法了。构造函数(constructor)构造函数存在于每个函数的prototype属性中,它指向函数本身的原型链(_proto_)。JS中的对象会有一个_proto_属性,指向创建它的构造函数的原型,函数比较特殊,有这个属性。可以看出Person函数实例化的对象p1的_proto_指向构造函数Person原型当JS搜索引擎在对象中搜索属性或方法时,如果对象上没有该属性或方法,则会逐层向上搜索原型链。从这里我们可以看出p1上没有sayHello方法,但是可以通过原型链向上查找找到这个方法,实现一个简单的原型链。最后说一句题外话,本人在一线互联网公司工作十几年,指导过很多同行。帮助了很多人学习和成长。我意识到有很多经验和知识值得和大家分享,我们也可以通过我们的能力和经验来解答大家在IT学习中的很多困惑,所以在繁忙的工作状态下,我仍然坚持整理和分享各种东西。我可以免费分享最近的前端面试题,包括HTML、CSS、JavaScript、服务器端和网络、Vue、浏览器、数据结构和算法等等,还在整理和更新中。希望大家都能找到自己喜欢的工作。有需要的朋友点此免费获取题目+解析PDF。篇幅有限,仅展示部分截图:点此免费获取标题+解析PDF。