JS中數據類型分為兩類: 基本數據類型 + 引用數據類型
1.基本數據類型 ----- 直接在棧內存中保存數據值,按值訪問。
有5種:String字符串、Number數字、 Boolean布爾值、Undefined、Null
當copy數據時,copy到的是數據值本身。基本數據類型的變量與變量之間是獨立存在,修改其中一個變量,不會影響其他變量
例:var A = ‘abc’;
B = A;
A = ‘abcd’
則修改變量A的值后,變量B的值不會被修改,仍為'abc'。
------------------------------------------------------------------------------------------------------------------------
2.引用數據類型 ----- 變量保存的是內存地址(對象的引用),訪問時訪問的也是內存地址(相當於指針,在各自的內存地址里存儲了數據)
Object對象
當copy數據時,copy到的是保存數據的內存地址而不是數據值本身。當兩個變量保存的是同一個引用數據對象,則其中一個變量的屬性發生改變,另一個變量也會隨之變化。
例:var A = {name: 'wangxiaoming', age: 19};
B = A;
則變量B其實copy到的是變量A的內存地址;此時修改A的屬性為:A.name = 'Tom',其實修改的是變量A保存的內存地址中的內容,所以變量B也被影響---{name: 'Tom', age: 19}。
-------------------------------------------------------------------------------------------------------------------------
當比較數據時:基本數據比較的是數據值的大小;而引用型數據比較的是保存數據的內存地址——若兩個變量的數據一模一樣,但內存地址不同,則會返回false。