- 0
- 0
- 约7.8千字
- 约 11页
- 2026-07-26 发布于河北
- 举报
3年经验前端面试题(含详细接地气答案)
一、JS核心基础(3年必问,侧重踩坑和实战)
1、讲讲var/let/const的区别,实际开发中怎么用?
参考答案:
首先var是函数作用域,let、const是块级作用域,这是最核心的区别。
var存在变量提升,而且可以重复声明,很容易污染全局变量,我现在项目里基本不用。比如循环嵌套的时候,var定义的变量会互相干扰,之前踩过这个坑。
let可以修改值,不能重复声明,有暂时性死区,必须先声明再使用,适合定义会变更的变量,比如表单状态、计数器。
const定义的是常量,指针不能改,基础类型值不可变,引用类型可以改内部属性。项目里优先用const,只有确定变量会变才用let,完全弃用var,这是团队统一规范。
2、闭包是什么?开发中用过哪些场景,有什么坑?
参考答案:
简单说,函数嵌套函数,内部函数访问外部函数的变量,就形成了闭包,核心是保留了外部作用域的变量引用。
我实际开发常用场景:
1、防抖、节流函数,通过闭包保存定时器、上一次执行时间;
2、封装私有变量,比如工具函数、组件内部缓存数据,不暴露到全局;
3、定时器、异步回调里保留当前循环的变量值,解决循环变量统一赋值的问题。
最大的坑就是内存泄漏,闭包会一直持有变量引用,导致垃圾回收机制无法销毁变量。比如组件挂载时创建的闭包定时器,卸载时没清除,就会
您可能关注的文档
最近下载
- 新湘教版7年级上册数学全册教学课件(2024年秋季新版教材).pptx
- 临沂乾新益环保年产500万个塑料机械项目水土保持报告表.pdf VIP
- 17J008挡土墙(重力式、衡重式、悬臂式).pptx VIP
- 给排水国标图集-04S531-5:湿陷性黄土地区排水检查井.pdf VIP
- 孕前优生健康检查风险评估详解演示文稿.ppt VIP
- 医院手术质量安全提升行动方案.docx VIP
- 巨人通力G3001007(A)电气原理图.pdf VIP
- 绿色大学教师教授副教授职称申报答辩通用PPT模版.pptx
- 河堤稳定计算(挡土墙、渠道等)用.xls VIP
- ASME A112.18.2-2020 国外国际标准规范.pdf
原创力文档

文档评论(0)