- 0
- 0
- 约5.88千字
- 约 9页
- 2026-07-11 发布于河北
- 举报
字节头条前端高频面试题(真实面试版+详细人话答案)
一、JS核心基础(必问)
1、讲讲var/let/const的区别?实际开发怎么用?
参考答案:
首先核心区别在作用域、变量提升、是否可修改、重复声明这几点:
1)作用域:var是函数作用域,let、const是块级作用域({}、if、for都会限制作用域);
2)变量提升:var会提升,初始值是undefined;let、const也会提升,但存在暂时性死区,声明前不能访问,直接报错;
3)修改性:var、let可以重复赋值;const声明后不能改栈地址,基本类型不能改值,引用类型可以改属性;
4)重复声明:var允许重复声明;let、const同一作用域禁止重复声明。
工程使用规范:
日常开发优先用const,确定需要重新赋值再改用let,完全不用var,避免变量泄露、变量提升带来的诡异bug。
2、什么是闭包?闭包的作用、优缺点、实际场景?
参考答案:
闭包就是:内层函数访问外层函数的变量,并且外层函数执行结束后,内层函数依然能保留外层的变量,形成私有作用域。简单说就是「函数嵌套+内部引用外部变量+外部执行完毕仍保留作用域」。
作用:
1)保存私有变量,防止全局污染;
2)延长变量生命周期;
3)实现模块化、柯里化、防抖节流。
缺点:
容易造成内存常驻,变量不会被GC回收,滥用
您可能关注的文档
最近下载
- 19、徐工碳达峰碳中和行动规划纲要.pdf VIP
- 婴幼儿健康照护:常用婴幼儿护理技术PPT教学课件.pptx VIP
- 婴幼儿健康照护:婴幼儿体格生长的测量与评估PPT教学课件.pptx VIP
- 0-3岁婴幼儿保育与教育—身高的测量与评估.ppt VIP
- 中国国家标准 GB/T 30133-2022一次性卫生用品用面层.pdf
- 2026年武汉市黄陂区辅警协警招聘笔试参考试题及答案解析.docx VIP
- 毕业设计:基于51单片机的简易数字电压表的设计.doc VIP
- 摩托车维修手册-春风250NK说明书.pdf VIP
- 2025年天津中医药大学马克思主义基本原理概论期末考试参考题库.docx VIP
- 灰度图中才显示出视野缺损.PPT VIP
原创力文档

文档评论(0)