JavaScript系列-原型与原型链

138 阅读1分钟

面试了许多求职者,很多求职者只知其然,而不知所以然,写此文章为广大前端小伙伴指引迷津。纯干货!纯干货!纯干货!

目录

面向对象

什么是原型?

答:JS中的对象包含了一个prototype的内部属性,这个属性所对应的就是该对象的原型。

什么是原型链?

答:proto是每个对象都有的属性,而js里万物皆对象,所以会形成一条proto连起来的链条,递归访问proto必须最终到头,且值为null,当js引擎查找对象属性时,先查找对象本身是否存在该属性,如果不存在,会在原型链中查找,但不会查找自身的prototype。

原型以及原型链对应的关系?

答:Object.__proto__ === Function.prototype;
Function.prototype.__proto__ === Object.prototype;
Object.prototype.__proto__ === null;。

面试大白话

答:首先js里万物皆对象,每个对象都有proto的属性,所以会形成一条proto连起来的链条,递归访问proto必须最终到头,且值为null,当js引擎查找对象属性时,先查找对象本身是否存在该属性,如果不存在,会在原型链中查找,但不会查找自身的prototype。。

小白也是新手面试官,欢迎领导莅临指导工作,提出建议,小白不胜感激,不喜勿喷,点赞收藏随机送程序媛小姐姐一枚哦!!!