1.變量
1.1 變量的概念
????????JavaScript中的變量與其他語言中的變量有很大區(qū)別锣枝。它是松散類型的(不存在定義某個(gè)變量必須要保存何種數(shù)據(jù)類型值的規(guī)則耻卡,變量的值及其數(shù)據(jù)類型可以在腳本的生命周期內(nèi)發(fā)生改變)流译。
? ? ????一般ECMAScript變量包含兩種不同數(shù)據(jù)類型的值:基本類型值和引用類型值黍析⊙戏荆基本類型值包含Undefined、Null衩藤、Boolean吧慢、Number和String(與其他語言不同,在JavaScript中赏表,String不是引用類型)娄蔼。引用類型值指那些可能由多個(gè)值構(gòu)成的對象怖喻。基本數(shù)據(jù)類型是按值訪問的岁诉,而引用類型的值是按引用訪問的锚沸。
1.2 復(fù)制變量值
? ??????復(fù)制基本類型值時(shí),會在變量對象上創(chuàng)建一個(gè)新值涕癣,然后把該值復(fù)制到為新變量分配的位置上哗蜈。如下面這個(gè)例子:??
?????????var num1 = 5;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?var num2 = num1;
? ? ? ? 在此,num1 中保存的值是5坠韩。當(dāng)使用num1 的值來初始化num2 時(shí)距潘,num2 中也保存了值5。但num2中的5 與num1 中的5 是完全獨(dú)立的只搁,該值只是num1 中5 的一個(gè)副本音比。此后,這兩個(gè)變量可以參與任何操作而不會相互影響氢惋。