前端高频易遗忘面试题(附直白详细答案).docxVIP

  • 0
  • 0
  • 约4.82千字
  • 约 7页
  • 2026-07-08 发布于河北
  • 举报

前端高频易遗忘面试题(附直白详细答案).docx

前端高频易遗忘面试题(附直白详细答案)

一、JavaScript模块(最易遗忘板块)

1、var/let/const的区别?很多人只记皮毛

标准答案(直白版):

作用域:var只有全局作用域、函数作用域,没有块级作用域;let、const支持块级作用域(大括号{}内有效),for循环、if判断里声明的变量外部访问不到

变量提升:三者都存在变量提升,但表现不一样。var声明的变量会提升并初始化为undefined;let/const提升后不初始化,形成暂时性死区,在声明前调用直接报错

重复声明:var允许在同一作用域重复声明同一个变量;let、const直接禁止重复声明

赋值规则:var、let是可变变量,可以随意修改值;const是常量,简单数据类型不能改值,引用数据类型(对象/数组)可以修改内部属性,不能直接重新赋值

补充面试加分点:日常开发直接弃用var,统一用let/const;默认优先用const,只有变量后续需要修改时再用let。

2、什么是暂时性死区?为什么会出现?

标准答案(直白版):

ES6为了规避var变量提升带来的bug,给let、const新增的规则。在代码执行到变量声明语句之前,该变量已经被提升,但无法被访问,这个时间段就叫暂时性死区。

简单说:大括号范围内,变量声明之前,不能使用该变量,用了直接报错。

出现原因:解决var的弊

文档评论(0)

1亿VIP精品文档

相关文档