- 2
- 0
- 约9.75千字
- 约 13页
- 2026-07-03 发布于河北
- 举报
Web前端进阶面试题(含详细真实面试向答案)
一、JavaScript核心进阶
1.讲讲你对闭包的理解?实际项目中用过哪些场景,有什么优缺点?
答案:
简单来说,函数嵌套函数,内部函数能访问外部函数的变量,就算外部函数执行完毕销毁,内部函数依旧可以保留并使用外部的变量,这个组合就是闭包。底层原理是JS的作用域链,内部作用域可以向上访问外层作用域,反之不行。
实际项目常用场景:
封装私有变量:模拟私有属性,避免全局变量污染,比如工具类方法封装;
防抖、节流函数:缓存定时器、上次执行时间等变量;
循环绑定事件:早期ES5没有let/const时,解决for循环事件绑定变量共享问题;
柯里化函数:拆分多参数函数,实现参数缓存。
优缺点:
优点:实现变量私有化、缓存数据、拆分函数逻辑;
缺点:闭包会让外部函数的变量常驻内存,无法被GC回收,容易造成内存泄漏;如果滥用,会增加内存占用。
2.ES6var/let/const的区别?从底层原理说说暂时性死区
答案:
1.作用域:var仅支持函数作用域和全局作用域,不具备块级作用域;let、const支持块级作用域,大括号{}内单独生效;
2.变量提升:三者都存在变量提升,但表现不同。var提升后初始值为undefined,可以声明前调用;let/const提升后不会初始化,声明前无法调用;
3.重复声明:var允许同
您可能关注的文档
最近下载
- SH_T 1502-2014丁苯胶乳中结合苯乙烯含量的测定 折光指数法.pdf
- 统编版语文八年级上册思维导图.doc VIP
- 2025秋国开C语言程序设计实训1-4答案.doc
- 全国中等职业学校教师信息化教学设计和说课大赛一等奖医学类《心肌梗死病人的护理》说课课件(终稿).pptx VIP
- FANUC+PMC窗口功能及其应用.pdf VIP
- Q∕GDW 11651.2-2017 变电站设备验收规范 第2部分:断路器.docx VIP
- 新疆库拜区域瓦斯治理工程一期(库车区域)环境影响报告书.docx VIP
- 浅析工程项目分包结算超额现象发生的主要原因及防治措施.pdf VIP
- (新版)高级电力电缆安装运维工(配电)理论考试题库资料(含答案).pdf VIP
- 26_27秋冬女装色彩趋势.pptx VIP
原创力文档

文档评论(0)