# 数据类型
# 有哪些数据类型?
基础类型(原始数据类型):
数字 number (整数或浮点数)
字符串 string
布尔值 boolean
null 表示空
undefined 为定义
Symbol 独一无二的值
任意精度整数 bigint 1234n
复合类型(引用类型) Object
- 对象 object
- 数组 []
- 函数 function
- 文档对象 document
- Math
- 正则 //
- Date
- Error
# 内存图
js 把内存分为代码区和数据区。 数据区又分为 stack(栈)和 heap(堆)。
# 栈内存
# 1. 原始类型直接存放在栈中。(存放真实的数据), 如果是不同的值会存法规不同的栈.
# 2. 如果 b = a; 那么会直接把 a 的值给了 b。
# 3. 栈中的特点
存放一些简单的数据,占据的空间小,大小固定,属于被频繁使用数据,所以放入栈中存储。
# 堆内存
# 1. 在栈中存放地址,然后指向堆内存中的数据。
# 2. 如果 arr1 = arr2; 那么是把 arr2 地址给了 arr1。
# 3. 堆中的特点
堆中存储的对象,占据空间大、大小不固定。引用数据类型在栈中存储了指针, 指针指向了堆中该实体的地址,当解释器去寻找引用值时,首次会先去栈中查找地址,然后从堆中获取实体。
在堆中存放的数据大,占用内存多,不是频繁访问的数据。