在js里面,把数据类型分为两组,即基本类型和引用类型。
这两种类型是怎么区分的呢:
基本类型在内存中具有固定的大小,而引用类型则不同。例如,对象可以具有任意的长度,无固定大小。数组也是。
基本类型变量存的是数据的具体值,而引用类型变量保存的是值的引用。
因此数值、布尔值、null和未定义(undefined)都属于基本类型。对象、数组和函数则属于引用类型。
string类型有些特殊,因为字符串具有可变的大小,所以显然它不能被直接存储在具有固定大小的变量中。由于效率的原因,我们希望JS只复制对字符串的引用,而不是字符串的内容。但是另一方面,字符串在许多方面都和基本类型的表现相似,而字符串是不可变的这一事实(即没法改变一个字符串值的内容),因此可以将字符串看成
行为与基本类型相似的不可变引用类型