轉(zhuǎn)載自 : http://www.cnblogs.com/lxq1990/archive/2012/11/04/2754226.html
一、JavaScript值類型和引用類型有哪些
1、值類型:數(shù)值、布爾值、null、undefined。
2、引用類型:對象、數(shù)組、函數(shù)。
二、理解
1、值類型理解:
變量的交換等于在一個新的地方按照連鎖店的規(guī)范標準(統(tǒng)一店面理解為相同的變量內(nèi)容)新開一個分店,這樣新開的店與其它舊店互不相關(guān)、各自運營。
function chainStore()
{
var store1='Nike China';
var store2=store1;
store1='Nike U.S.A.';
alert(store2); //Nike China
}
chainStore();
把一個值類型(也可以叫基本類型)store2傳遞給另一個變量(賦值)時,其實是分配了一塊新的內(nèi)存空間,因此改變store1的值對store2沒有任何影響,
2、引用類型理解:
等于把現(xiàn)有一間店的鑰匙(變量引用地址)復制一把給了另外一個老板,此時兩個老板同時管理一間店,兩個老板的行為都有可能對一間店的運營造成影響。
function chainStore()
{
var store1=['Nike China'];
var store2=store1;
alert(store2[0]); //Nike China
store1[0]='Nike U.S.A.';
alert(store2[0]); //Nike U.S.A.
}
chainStore();
在上面的代碼中,store2只進行了一次賦值,理論上它的值已定,但后面通過改寫store1的值,發(fā)現(xiàn)store2的值也發(fā)生了改變