字节头条前端高频面试题(真实面试版+详细人话答案).docxVIP

  • 0
  • 0
  • 约5.88千字
  • 约 9页
  • 2026-07-11 发布于河北
  • 举报

字节头条前端高频面试题(真实面试版+详细人话答案).docx

字节头条前端高频面试题(真实面试版+详细人话答案)

一、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回收,滥用

文档评论(0)

1亿VIP精品文档

相关文档