變量以及作用域

1.變量


1.1 變量的概念

????????JavaScript中的變量與其他語(yǔ)言中的變量有很大區(qū)別。它是松散類(lèi)型的(不存在定義某個(gè)變量必須要保存何種數(shù)據(jù)類(lèi)型值的規(guī)則,變量的值及其數(shù)據(jù)類(lèi)型可以在腳本的生命周期內(nèi)發(fā)生改變)。

? ? ????一般ECMAScript變量包含兩種不同數(shù)據(jù)類(lèi)型的值:基本類(lèi)型值和引用類(lèi)型值?;绢?lèi)型值包含Undefined、Null、Boolean、Number和String(與其他語(yǔ)言不同,在JavaScript中,String不是引用類(lèi)型)。引用類(lèi)型值指那些可能由多個(gè)值構(gòu)成的對(duì)象?;緮?shù)據(jù)類(lèi)型是按值訪(fǎng)問(wèn)的,而引用類(lèi)型的值是按引用訪(fǎng)問(wèn)的。

1.2 復(fù)制變量值

? ??????復(fù)制基本類(lèi)型值時(shí),會(huì)在變量對(duì)象上創(chuàng)建一個(gè)新值,然后把該值復(fù)制到為新變量分配的位置上。如下面這個(gè)例子:??

?????????var num1 = 5;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?var num2 = num1;

? ? ? ? 在此,num1 中保存的值是5。當(dāng)使用num1 的值來(lái)初始化num2 時(shí),num2 中也保存了值5。但num2中的5 與num1 中的5 是完全獨(dú)立的,該值只是num1 中5 的一個(gè)副本。此后,這兩個(gè)變量可以參與任何操作而不會(huì)相互影響。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容