js 值引用和值复制

 阅读约 2 分钟

JS值类型

JS中值的类型可简单分为三类,即基础类型、复杂类型、特殊类型。
ES5中有6种数据类型:
null,undefined,number,string,boolean,object。
复杂类型是指object即广义的对象类型,可由多个简单类型的值的合成,可以看作是一个存放各种值的容器。比如arr,object,regx等
基础类型指number,string,boolean。
特殊类型指null,undefined。
基础类型和复杂类型的区别:
基础类型将内容直接存储在中(大小固定位置连续的存储空间),记录的是该数据类型的值,即直接访问,基础类型赋值是复制(copy); 复杂类型将内容存储在堆中,堆所对应的栈中记录的是指针(堆的地址),外部访问时先引出地址,再通过地址去找到值所存放的位置。复杂类型赋值是地址引用。

Paste_Image.png
值类型赋值举例:

Paste_Image.png
引用类型赋值举例:

Paste_Image.png


阅读 4.4k更新于 2018-06-28

推荐阅读
前端开发
用户专栏

html,css,dom,jquery,vue,nodejs

2 人关注
18 篇文章
专栏主页
目录