获得徽章 7
关注了标签 C++ C++
#每日一题# JavaScript 基础类型

- Null:只包含一个值:null
- Undefined:只包含一个值:undefined
- Boolean:包含两个值:true 和 false
- Number:整数或浮点数,还有一些特殊值(-Infinity、+Infinity、NaN)
- String:一串表示文本值的字符序列
- Symbol:一种实例是唯一且不可改变的数据类型
- BigInt:表示大的 2^53 - 1 整数

引用类型

- Object: Object,Array、Function 等都属于特殊的对象

**堆内存**

引用类型值的大小是不固定的,因此它们会被存储到 `堆内存` 中,由系统自动分配存储空间。JavaScript 不允许直接访问堆内存中的位置,因此我们不能直接操作对象的堆内存空间,而是操作 对象的引用。

堆内存则需要通过垃圾回收机制进行回收。

**栈内存**

栈内存是由 JavaScript 引擎自动分配和管理的,它们的生命周期与变量声明周期一致。当一个函数执行完毕后,该函数中的所有栈内存都会被自动销毁,其中包括函数参数、局部变量等。因此,我们无需手动管理栈内存的回收,JavaScript 引擎会自动进行回收操作。

而基础数据类型都有固定的大小,因此它们被存储到 `栈内存` 中。我们可以直接操作保存在栈内存空间的值,因此基础数据类型都是 按值访问。此外,栈内存还会存储 对象的引用 (指针) 以及 函数执行时的运行空间。
展开
评论
下一页
个人成就
文章被点赞 29
文章被阅读 11,003
掘力值 196
收藏集
6
关注标签
1
加入于