一、基本类型
1、概述
值类型又叫做基本数据类型,简单数据类型。在存储时,变量中存储的是值本身,因此叫做值类型
2、基本类型在内存中的存储
基本数据类型存储在栈区中。
3、基本类型作为函数的参数
基本类型作为函数的参数,传递进入函数的是变量的值。
扩展:堆栈空间分配区别:
a、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈;
b、堆(操作系统):存储复杂类型(对象),一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收,分配方式类似于链表。
注意:JavaScript中没有堆和栈的概念,此处用堆和栈来讲解,目的方便理解。
二、引用类型
1、概述
复杂数据类型又叫做引用类型,在存储时,变量中存储的仅仅是地址(引用),因此叫做引用数据类型。
2、复杂类型在内存中的存储
复杂数据类中的值在堆区中声明,在栈区只是存放着指向该地址的引用变量。
3、复杂类型作为函数的参数
复杂类型作为函数的参数,传递的地址值。