普通类型和对象的区别2018-09-23

主要总结下普通类型和对象的存储方式。
JS目前一共有7种数据类型,6种为基本类型(Number,String,Boolean,Null,Undefined,Symbol)。这六种数据类型是存储在栈(Stack)中的,一行一行存储。
最后一种复杂数据类型Object是存储在堆(Heap)中的,通过引用的方式赋值给变量。

由此也引出了一个概念,浅拷贝和深拷贝。
a.基本类型的变量赋值,就是深拷贝。下方代码中b值被改动,并不会影响a值。

var a=1;
var b=1;
b;//1

浅拷贝则是简单的值的传递,a值传递给b,b值改动时,a值也会改动,以对象为例:

var a={c:1}
var b=a;
b.c=2;
a//{c: 2}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容