JavaScript 原始值与引用值的存储机制解析
作者:纸飞机时间:2026-10-24 21:18:21浏览:576
本文深入解析JavaScript中原始值与引用值的存储差异。原始值如Number、String等直接存储在栈内存中,而引用值如Object、Array等存储在堆内存中,栈中仅保存指向堆的地址。理解这一机制有助于掌握变量赋值、对象引用及内存管理的核心逻辑。
原始值,也被称为基本类型。
Number String Boolean undefined null
这类数据存储在栈(stack)内存中的简单数据段,意味着它们的实际值直接存储在变量访问的位置。
动态语言、脚本语言、解释型语言以及弱类型语言通常对应此类特性。
相比之下,静态语言、编译型语言、强类型语言则具有不同的类型检查机制。
null 表示空值,常用于初始化组件、函数或销毁函数时的占位。
引用值。
object array function date RegExp
若值为引用类型,其存储空间将从堆中分配。由于引用值的大小可能动态变化,将其直接置于栈中会降低变量查询速度。因此,栈空间中存储的仅是该对象在堆中的地址。因地址大小固定,这种存储方式对变量性能无负面影响。 ex
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>D1</title>
</head>
<body>
<script type="text/javascript">
var arr1 = [1,2,3,4];
var arr2 = arr1;
//arr1.push(5);//此时打印arr2为1,2,3,4,5
arr1 = [1,2];//重新赋值不会影响arr2
document.write(arr2);
</script>
</body>
</html>
至此,关于JS原始值和引用值的介绍结束。如需了解更多相关内容,请搜索本站历史文章或浏览后续文章,感谢大家的支持!
作者最新文章
JS动态构建复杂嵌套JSON对象的方法
2026-11-05 15:41:52
JS负数取余为什么是负数?详解余数与模运算区别
2026-11-05 13:34:41
JS 解压出现乱码或报错怎么解决?
2026-11-05 12:32:38
JS 中 startsWith、indexOf 与正则判断字符串前缀的对比
2026-11-04 22:19:43
JS解析Excel后怎么将数据转换为JSON格式
2026-11-04 20:58:28
