基本数据类型:
String/number/boolean/null/undefined/symbol(代表创建之后独一无二并且不可变的数据类型)
引用数据类型:
Object
区别:
1、声明变量时存储分配:
基本数据类型存储在栈中 var a = 10
引用数据类型存储在堆中,var arr = [1,2,3,4,5,...]
2、 不同的内存分配机制也带来了不同的访问机制
不可以直接访问堆内存空间的位置以及直接操作堆内存空间,只能操作对象在栈内存中引用地址
基本数据类型直接访问到,引用数据类型访问引用地址,根据引用地址找到堆中实体
3、 复制变量时的不同
基本数据类型:var a = 1,var b=a将原始值的副本赋值新的变量,传值
引用数据类型:var obj={name:'张三'},var obj1 = obj,将引用地址赋值给新的变量,传址