- 1
- 0
- 约5.15千字
- 约 8页
- 2026-09-13 发布于河北
- 举报
真实面试版JavaScript面试题(含详细接地气答案)
一、JS基础核心题(高频必问)
1.说说var、let、const的区别?
答案:
1)变量提升:var有变量提升,会提前声明但不赋值;let、const不存在变量提升,必须先声明后使用。
2)作用域:var只有全局作用域、函数作用域;let、const支持块级作用域({}内部生效),解决了for循环变量泄露问题。
3)重复声明:var允许重复声明变量;let、const同一作用域内不允许重复声明。
4)赋值规则:var、let可以修改值;const声明的是常量,基础类型不能改,引用类型(对象/数组)可以改属性,因为const只锁内存地址,不锁内容。
实战总结:开发中全部用let/const,彻底弃用var,可变用let,不可变用const。
2.什么是暂时性死区?
答案:
在代码块中,用let/const声明的变量,在声明之前的区域,无法访问、无法赋值,这个区间就是暂时性死区。
出现原因:let/const虽然也会被JS引擎扫描提升,但不会初始化,访问直接报错Cannotaccessbeforeinitialization。
作用:杜绝变量先使用后声明的不规范写法,比var更严谨。
3.JS有哪些数据类型?怎么区分?
答案:
一共8种数据类型:
1
原创力文档

文档评论(0)