- 1
- 0
- 约4.83千字
- 约 8页
- 2026-09-13 发布于河北
- 举报
真实前端JavaScript面试题(初级/中级含答案)
说明:本套题目为一线企业真实高频面试题,剔除套话、模板化问题,侧重基础知识、代码实操、原理理解与坑点考察,适用于前端求职、技术复盘。
一、基础语法与变量(高频基础题)
1.说说var、let、const的区别?分别适用什么场景?
参考答案:
var:函数级作用域,存在变量提升,可重复声明、可修改,初始值为undefined。缺点是容易造成全局变量污染、块级作用域失效,现在项目中基本不推荐使用。
let:块级作用域,存在变量提升但有暂时性死区,不可重复声明、可重新赋值。适合值会变动的变量,比如循环计数器、状态变量。
const:块级作用域,有暂时性死区,不可重复声明、声明后不能直接赋值修改。基础类型值不可变,引用类型(对象、数组)可修改内部属性/元素。适合固定不变的常量、引用类型数据。
2.什么是暂时性死区?
参考答案:
在代码块中,使用let/const声明的变量,在声明语句执行前,无法被访问、赋值,这段区间就是暂时性死区。
区别于var的变量提升,let/const提升后并未初始化,访问会直接报错Cannotaccessxxxbeforeinitialization,有效避免了变量提升带来的诡异bug。
3.null和undefined的区别?
参考答案:
undefined:
原创力文档

文档评论(0)