- 1
- 0
- 约7.45千字
- 约 11页
- 2026-10-09 发布于河北
- 举报
2026JavaScript最新面试题及详细答案(真实面试版)
一、JS基础核心面试题
1.说说==和===的区别,实际开发怎么用?
参考答案:
==是宽松相等,会先做隐式类型转换,再比较值;===是严格相等,必须类型和值完全一致才为true,不做任何类型转换。
规则:
字符串和数字比较:==会把字符串转数字再对比
null==undefined结果为true,null===undefined为false
引用类型对比:两种运算符都是对比内存地址
开发规范:全程优先用===,只在判断null/undefined场景偶尔用==(obj==null),简洁且精准。
2.什么是变量提升?let/const/var提升的区别?
参考答案:
JS代码执行前,解析阶段会把变量、函数声明提前到当前作用域顶部,这个机制就是变量提升。
三者核心区别:
var:存在变量提升,默认初始化为undefined,允许重复声明、变量挂载到window,有函数级作用域
let/const:存在提升,但暂时性死区,声明前不能访问,不挂载window,块级作用域,禁止重复声明
const声明常量,必须初始化,不能修改引用地址,基础值不可变,引用值可修改内部属性
开发建议:彻底弃用var,统一使用let/const。
3.解释JS词法作用域
原创力文档

文档评论(0)