36道高频JavaScript面试题(附接地气详细答案).docxVIP

  • 2
  • 0
  • 约5.46千字
  • 约 8页
  • 2026-07-26 发布于河北
  • 举报

36道高频JavaScript面试题(附接地气详细答案).docx

36道高频JavaScript面试题(附接地气详细答案)

一、JS基础数据类型(1-8题)

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

基本类型:Undefined、Null、Boolean、Number、String、Symbol、BigInt,一共7种。

引用类型:Object、Array、Function、Date、RegExp等,本质都是对象。

核心区别:

1.基本类型存栈内存,赋值是值拷贝,互相不影响;

2.引用类型存堆内存,栈里只存地址,赋值是地址拷贝,修改一个会影响另一个。

2、null和undefined的区别?

undefined:变量声明了但没赋值、函数无返回值、对象不存在的属性,默认都是undefined,代表未定义、缺失值。

null:是手动赋值的空值,代表主动置空,是一个空对象占位符。

面试坑:typeofnull结果是object,这是JS初代bug,不是null类型。

3、0.1+0.2为什么不等于0.3?怎么解决?

原因:JS数字都是64位双精度浮点数,二进制无法精准表示部分十进制小数,会出现精度丢失。0.1和0.2转二进制是无限循环小数,存储时被截断,相加后精度出错。

解决办法:

1.小数转整数运算后再除(最常用):(0.1*10+0.2*10)/10

2.使用toFixed(n)保留小数(注意返

文档评论(0)

1亿VIP精品文档

相关文档