JavaScript 高频面试题及详细答案(实战向).docxVIP

  • 0
  • 0
  • 约5.66千字
  • 约 8页
  • 2026-09-20 发布于河北
  • 举报

JavaScript 高频面试题及详细答案(实战向).docx

JavaScript高频面试题及详细答案(实战向)

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

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

答案:

JS一共8种数据类型,分为基本数据类型和引用数据类型两类。

基本类型(7种):String、Number、Boolean、Null、Undefined、Symbol、BigInt

引用类型(1种):Object,细分包含普通对象、数组、函数、正则、日期等

核心区别:

1、存储位置不同:基本类型值存在栈内存,赋值时是值拷贝,两个变量互不影响;引用类型栈内存存的是内存地址,真实数据存在堆内存,赋值是地址拷贝,多个变量指向同一个数据,会互相影响。

2、值是否可变:基本类型值不可变,重新赋值是开辟新内存;引用类型可以直接修改堆内存中的原有数据。

3、typeof判断结果不同:基本类型除了null判断为object,其余都能精准识别;引用类型除了function,其余统一返回object。

2、typeofnull为什么返回object?

答案:

这是JS最初版本的历史bug,并非设计初衷。

JS底层存储数据时,会在二进制前三位标记数据类型:000代表对象类型。而null在底层的二进制表示是全0,前三位刚好是000,所以typeof检测时会误判为object。

这个问题为了兼容老旧代码

文档评论(0)

1亿VIP精品文档

相关文档