网站首页 > 技术文章 正文
日常面试中,数据类型也是一个主要类型的面试问题,这种基础类的反而常常容易忽略。
基本数据类型(7种)
- undefined:未定义类型
- null:空值类型
- boolean:布尔类型(true/false)
- number:数字类型(含NaN)
- string:字符串类型
- symbol:符号类型(ES6新增)
- bigint:大整数类型(ES2020新增)
引用数据类型(对象类型)
- Object:普通对象
- Array:数组对象
- Function:函数对象
- Date:日期对象
- RegExp:正则对象
- 其他内置对象...
1.基本数据类型存储方式
- 存储位置:栈内存(Stack)
- 存储方式:直接存储数据值
2. 引用数据类型存储方式
- 存储位置:堆内存(Heap)
- 存储方式:栈内存存储指针地址,堆内存存储实际数据
5个必须掌握的面试考点
通过JSON的方式完成的深拷贝在常规使用中是没问题,极端情况,如函数对象引用自身出现循环引用,就会报错,此时需要手动递归的方式做特殊处理实现深拷贝,或者引用健全的工具库。
高频面试题
Q1:typeof null返回什么?为什么?
A:返回"object",这是JavaScript设计初期的遗留问题。null值表示空对象指针,二进制前三位为000(与对象类型标识相同)
Q2:如何判断数组类型?
A:优先使用Array.isArray(),其次是
Object.prototype.toString.call(arr) === '[object Array]'
Q3:基本类型有方法吗?
A:基本类型本身没有方法,但当调用方法时会临时创建包装对象(如"text".length会创建String对象)
Q4:0.1+0.2为什么不等于0.3?
A:由于IEEE 754双精度浮点数精度问题,实际计算结果为0.30000000000000004
Q5:如何实现真正的深拷贝?
A:可通过递归实现、使用JSON序列化(不处理函数和循环引用)、或第三方库如lodash的_.cloneDeep()
猜你喜欢
- 2025-05-02 对象 (基础详解)(对象指的是)
- 2025-05-02 JavaScript的核心易错点知识梳理(js的重点)
- 2025-05-02 网络钓鱼攻击使用隐形Unicode Trick隐藏JavaScript
- 2025-05-02 本想搞清楚ESM和CJS模块的转换问题,没想到写完我的问题更多了
- 2025-05-02 19个基本的JavaScript面试问题及答案(都是实用技巧)免费送
- 2025-05-02 day11:前端面试题(js)(前端面试题汇总.pdf)
- 2025-05-02 前端面试:JavaScript 中有几种数据类型?
- 2025-05-02 前端开发基础-JavaScript(三)(前端开发的基础)
- 2025-05-02 小白教你JavaScript 第二讲(javascript教程 csdn)
- 2025-05-02 JS学习笔记:三、数据类型(js数据类型有)
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- js判断是否空对象 (63)
- sqlset (59)
- phprequire_once (61)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)