前端P4级别面试题(含详细真实面试答案).docxVIP

  • 0
  • 0
  • 约7.09千字
  • 约 10页
  • 2026-07-08 发布于河北
  • 举报

前端P4级别面试题(含详细真实面试答案).docx

前端P4级别面试题(含详细真实面试答案)

一、JavaScript核心基础(必考)

1.讲讲var、let、const的区别

参考答案:

首先是变量提升:var存在变量提升,声明前访问会返回undefined;let、const有暂时性死区,声明前直接访问会报错。

其次是作用域:var只有函数作用域和全局作用域,没有块级作用域;let、const支持块级作用域,if、for、{}内部声明的变量外部访问不到。

然后是重复声明:var允许重复声明变量;let、const同一作用域内不允许重复声明。

最后是赋值规则:let可以修改、不可以重复声明;const声明后必须赋值,且不能修改基础类型值,引用类型可以修改内部属性,只是不能修改指针地址。

日常开发中基本不用var,统一用let/const,默认优先const,需要修改再换let。

2.闭包是什么?有什么作用和弊端?实际项目用过吗?

参考答案:

闭包就是内层函数访问外层函数的变量,且外层函数执行结束后,内层函数依然保留对外层作用域变量的引用,不会被垃圾回收。

核心作用:一是实现变量私有化,避免全局变量污染;二是保存函数执行上下文,保留变量状态;三是可以做柯里化、防抖节流这类封装。

弊端:会导致变量常驻内存,无法及时销毁,滥用容易造成内存占用过高、内存泄漏。

项目场景:我封装过工具函数、防抖节流方

文档评论(0)

1亿VIP精品文档

相关文档