JS中原始值和引用值

陈帅华
陈帅华 编辑于 2021-05-01 19:24
阅读量: 191

为什么有些数据类型是值的拷贝,而另一些是值的引用。这些不同在代码中是如何体现的。这些概念的混淆很容易铸成无数bug。来一窥计算机内存中究竟发生了什么!

序言

本篇文章旨在提供一个模型,帮助理解JavaScript中变量的某些有趣行为。你不需要知道JavaScript引擎是如何实现这些模型的,因为每一种JavaScript引擎的工作原理也不尽相同。

原始值和引用值

JavaScript有5种数据类型的赋值是值的拷贝:

① Boolean(布尔值)

② null(空值)

③ undefined (未定义值)

④ String(字符值)

⑤ Number(数值)

上述5种值是原始类型(primitive types)。

JavaScript还有另外3种数据类型,它们的赋值是引用的拷贝:

① Array(数组)

② Function(函数、方法)

③ Object(对象)

以上这3种都是对象类型。

 

JavaScript原始值VS引用值

陈帅华
陈帅华 这家伙很懒,什么都没留下
收藏 转发 评论