- 1
- 0
- 约5.71千字
- 约 9页
- 2026-09-01 发布于河北
- 举报
原生JS高频面试题及答案(接地气真实面试版)
一、JS基础语法变量(高频基础题)
1、var/let/const的区别?日常开发怎么用?
答案:
var:函数级作用域,存在变量提升,可重复声明、可修改,容易污染全局变量,现在基本不用。
let:块级作用域,有暂时性死区,不能重复声明,可修改值,适合变量会变更的场景(循环、计数)。
const:块级作用域,有暂时性死区,声明必须赋值,不可修改引用;如果是对象/数组,可以改内部属性和数组项。
开发规范:默认全部用const,只有变量需要重新赋值时才用let,彻底不用var。
2、什么是暂时性死区?
答案:
块级作用域内,用let/const声明的变量,在声明之前无法访问,报错Cannotaccessxxxbeforeinitialization,这段区间就是暂时性死区。
简单说:变量提升了,但不让用,有效解决了var变量提升带来的诡异bug。
3、JS数据类型有哪些?怎么区分?
答案:
一共8种数据类型:
基本类型(7种):String、Number、Boolean、Undefined、Null、Symbol、BigInt
引用类型(1种):Object(包含普通对象、数组、函数、正则等)
判断方式:
基本类型:用typeof(注意typeofnull===object是历史
原创力文档

文档评论(0)