JS基本数据类型的变量存放的是基本类型数据的实际值;而引用数据类型的变量保存对它的引用,即指针。spa
JS基本数据类型:null undefined number boolean指针
string比较特殊内存
引用数据类型:function object arraystring
var a = 11;io
var b = 1;console
b = 12;function
console.log(a); //11 a的值不会随b值得改变而改变变量
var a = [1,2,3];object
var b = a;数据类型
a[0] = 2;
console.log(b[0]) //2, b的值随着a的值改变而改,由于他们指向同一个内存地址
var a = [1,2,3];
var b = a;
b = [11, 12, 13];//b指向了另外一个内存地址,与a断开关联
a[0] = 2;
console.log(b[0]) //11,b的值不随a的值改变而改变
好比说 var a = 1; 1是基本数据类型,所以变量a存放的就是1这个值
var b = [1,2,3],[1,2,3]是引用数据类型,[1,2,3]是放在内存中的,而变量b存放的是[1,2,3]的地址,而不是[1,2,3]这个值
当使用b这个变量时,js解释器会经过b存放的内存地址,找到内存中的相应地址,将其中的值取出来返回