原生JS高频面试题及详细答案(真实面试版).docxVIP

  • 1
  • 0
  • 约6.05千字
  • 约 9页
  • 2026-09-01 发布于河北
  • 举报

原生JS高频面试题及详细答案(真实面试版).docx

原生JS高频面试题及详细答案(真实面试版)

一、基础核心概念(高频必问)

1.说说var、let、const的区别?

参考答案:

三者都是声明变量的关键字,核心区别在作用域、变量提升、重复声明、是否可修改四个维度,是JS最基础的考点:

1.作用域不同:var是函数作用域,let、const是块级作用域({}、if、for内部单独生效);

2.变量提升不同:var声明的变量会提升,初始值为undefined;let、const存在暂时性死区,不会初始化提升,在声明前调用会直接报错;

3.重复声明:var允许重复声明同一变量;let、const不允许重复声明;

4.值修改规则:var、let声明的变量值可修改;const声明的是常量,基本数据类型不可修改,引用数据类型(对象、数组)可修改内部属性,不可修改地址引用;

5.默认挂载:全局var变量会挂载到window,let、const不会。

2.什么是暂时性死区?

参考答案:

在代码块中,使用let、const声明的变量,在声明语句执行之前,该变量处于不可访问的状态,这个区间就是暂时性死区。

哪怕外层有同名变量,块级内声明前调用也会报错,不会向上查找。目的是避免变量提升带来的诡异undefined问题,让代码更严谨。

示例:

javascript

vara=10;

if(tr

文档评论(0)

1亿VIP精品文档

相关文档