1、简单数据类型(值类型)
简单类型又叫做基本数据类型或者值类型,在存储变量时存储的是值本身,把值存放在栈里
string,number,boolean,undefined,null都是简单数据类型
2、复杂数据类型(引用类型)
复杂数据类型又叫做引用类型,在存储变量时存储的是引用地址,通过new关键字创建的对象,都是复杂数据类型,Object,Array,Date
3、堆和栈
(1)栈(操作系统):由操作系统自动分配释放存放函数的参数值、局部变量的值等,操作方法类似于数据结果中的栈。简单数据类型存放到栈里
(2)堆(操作系统):存储复杂类型(对象),一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收。复杂数据类型存放到堆里
4、简单数据类型的内存分配
简单数据类型的变量直接存放到栈空间中
简单数据类型存的是值,如果想修改某个值,其他的变量不会发生改变
5、复杂类型的内存分配
复杂数据类型在栈里边存放的是引用地址,真正的对象实例存放在堆中
复杂数据类型 他们的引用地址都存放在栈里, 引用地址都是一个十六进制的地址,而对象实例则存储在堆里,引用地址指向对象实例