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存放的內存地址,找到內存中的相應地址,將其中的值取出來返回