JS简单数据类型和复杂数据类型

JavaScript016

JS简单数据类型和复杂数据类型,第1张

简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型。

简单数据类型在存储时,变量中存储的是值本身,因此叫做值类型。

string、number、boolean、undefined、null

null是特殊存在,返回的是object,如果要创建空对象,可以用null。

用new创建的都是复杂数据类型

(1)栈:由操作系统自动分配释放存放函数的参数值、局部变量的值等。其操作系统类似于数据结果中的栈。

简单数据类型存放到栈里面

(2)堆:一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收。

复杂数据类型存放到堆里面

js有两种类型的值:

栈:原始数据类型(undefinen,null,boolead,number,string)

堆:引用数据类型(对象,函数和数组)

两种类型的区别是:储存位置不同,

原始数据类型直接存储在栈(stack)中的简单数据段,占据空间小,大小固定,属于被频繁使用的数据,所以放入栈中存储;

引用数据类型存储在堆(heap)中的对象,占据空间大,大小不固定,如果存储在栈中,将会影响程序运行的性能,引用数据类型在栈中存储了指针,该指针指向堆中该尸体的起始地址。当解释器寻找引用值,会首先检索其在栈中的地址,取得地址后从堆中获取实体;