ECMAscript变量包含两种数据类型的值,分别是:基本类型值、引用类型值.
1.两种值类型与数据类型的关系
基本类型:
(亦做原始类型)
简单的数据段。
包含的数据类型有:Undefined、Null、Boolean、Number、String.
引用类型:
由多个值构成的对象。
包含的数据类型有:Array 、 Object 、 function 、Date 、RegExp.
2.两种数据值类型与内存分配
JS内存空间分为栈(stack)、堆(heap)、池(一般会归类为栈中)。栈内存有序排列,并且大小固定。堆内存无需排列,大小不固定。
(1).基本类型 :
基本类型值大小固定,变量值存放在栈内存中。
基本类型值初始化:当用var关键字声明初始化一个变量之后,将变量名与一个栈内存地址绑定,并将变量的值存放在该地址的空间内。
基本类型值之间赋值:当基本类型之间发生变量的赋值操作时,会将栈空间中的值进行copy,并将该副本赋值给另一个变量,存放在另一个变量名绑定的内存空间中。变量值改变不会相互影响。