JS中级面试题及详细答案.docxVIP

  • 0
  • 0
  • 约1.37万字
  • 约 14页
  • 2026-06-09 发布于河北
  • 举报

JS中级面试题及详细答案

一、基础进阶题(考察核心概念理解,区分初级与中级)

1.请详细说明JS中的原型链,以及new操作符的底层执行过程(禁止只说表面现象)

答案:

首先明确两个核心前提:①所有JS对象(除null)都有__proto__属性(隐式原型),指向其构造函数的prototype(显式原型);②函数(Function)既是对象也是构造函数,它既有__proto__,也有prototype。

原型链的本质:当访问一个对象的属性/方法时,若对象本身没有,会通过__proto__向上查找其构造函数的prototype,若仍没有,继续向上查找prototype的__proto__,直到找到Object.prototype(其__proto__为null),这个查找链路就是原型链,核心作用是实现继承。

new操作符底层执行4步(实际开发中需结合this指向理解):

1.创建一个空的普通对象(letobj={});

2.将这个空对象的__proto__,指向构造函数的prototype(实现原型继承,让obj能访问构造函数原型上的方法);

3.调用构造函数,将this绑定到这个空对象上(此时构造函数中的this就是obj,可通过this给obj添加属性/方法);

4.判断构造函数的返回值:若返回值是引用类型(对象、数组、函数等),则new的结果就是这个返回值;

文档评论(0)

1亿VIP精品文档

相关文档