前端/移动开发面试题更新 2026-08-05
请解释JavaScript中变量声明与函数声明提升的交互,并说明为什么下面的代码会报错:function foo(){}; var foo; foo();
掌阅科技前端/移动开发技术原理问题排查
考察说明
考察JS提升机制中函数声明与变量声明同名时的处理方法
回答思路
- 准确描述提升顺序:函数声明整体提升,变量声明仅提升声明不提升赋值
- 分析同名时函数声明优先于变量声明
- 解释赋值导致foo变为普通变量后调用报错的原因
- 能够扩展到let/const的行为对比
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。