原生JS高频面试题及详细答案(实战接地气版).docxVIP

  • 1
  • 0
  • 约4.87千字
  • 约 8页
  • 2026-09-01 发布于河北
  • 举报

原生JS高频面试题及详细答案(实战接地气版).docx

原生JS高频面试题及详细答案(实战接地气版)

一、JS基础语法类(入门高频)

1、var/let/const的区别?实际开发怎么选?

详细答案:

三者核心区别集中在变量提升、作用域、重复声明、是否可修改四个点:

1.var

-函数级作用域,没有块级作用域(if/for块内声明,外部也能访问)

-存在变量提升,声明前置、赋值滞后

-允许重复声明,容易造成变量污染

2.let

-块级作用域({}包裹的区域有效)

-存在暂时性死区,必须先声明后使用,无变量提升的使用场景

-不允许重复声明,可重新赋值

3.const

-块级作用域、无重复声明、暂时性死区,规则和let一致

-声明后必须赋值,且基础类型值不可修改;引用类型仅栈内存地址不可改,对象/数组内部属性可修改

开发规范:优先用const,能不改就不改;需要重新赋值的变量用let;彻底不用var。

2、JS数据类型有哪些?怎么区分基本类型和引用类型?

详细答案:

总共8种数据类型:

1.基本类型(值类型):String、Number、Boolean、Undefined、Null、Symbol、BigInt

2.引用类型:Object(包含普通对象、数组、函数、正则、日期等)

核心区别:

-基本类型:值存在栈内存,赋值是拷贝原值,新旧变量互不影响

-引用类型:栈内存存地址,堆

文档评论(0)

1亿VIP精品文档

相关文档