在javascript中,變量是用于存儲(chǔ)信息的"容器",值相當(dāng)于容器內(nèi)裝的東西,而變量名就是容器上貼著的標(biāo)簽,通過(guò)標(biāo)簽可以找到變量,以便讀、寫(xiě)它存儲(chǔ)的值。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
變量相當(dāng)于容器,值相當(dāng)于容器內(nèi)裝的東西,而變量名就是容器上貼著的標(biāo)簽,通過(guò)標(biāo)簽可以找到 變量,以便讀、寫(xiě)它存儲(chǔ)的值。
聲明變量
在 JavaScript 中,聲明變量使用 var 語(yǔ)句。
示例1
在一個(gè) var 語(yǔ)句中,可以聲明一個(gè)或多個(gè)變量,也可以為變量賦值,未賦值的變量初始化為 undefined(未定義)值。當(dāng)聲明多個(gè)變量時(shí),應(yīng)使用逗號(hào)運(yùn)算符分隔。
var a; //聲明一個(gè)變量 var a,b,c; //聲明多個(gè)變量 var b = 1; //聲明并賦值 document.write(a); //返回 undefined document.write(b); //返回 1
示例2
在 JavaScript 中,可以重復(fù)聲明同一個(gè)變量,也可以反復(fù)初始化變量的值。
var a = 1; var a = 2; var a = 3; document.write(a); //返回 3
注意:
在非嚴(yán)格模式下,JavaScript 允許不聲明變量就直接為其賦值,這是因?yàn)?JavaScript 解釋器能夠自動(dòng)隱式聲明變量。隱式聲明的變量總是作為全局變量使用。在嚴(yán)格模式下,變量必須先聲明,然后才能使用。
賦值變量
使用等號(hào)=運(yùn)算符可以為變量賦值,等號(hào)左側(cè)為變量,右側(cè)為被賦的值。
示例
變量提升。JavaScript 在預(yù)編譯期會(huì)先預(yù)處理聲明的變量,但是變量的賦值操作發(fā)生在 JavaScript 執(zhí)行期,而不是預(yù)編譯期。
document.write(a); //顯示undefined a =1; document.write(a); //顯示 1 var a;
在上面示例中,聲明變量放在最后,賦值操作放在前面。由于 JavaScript 在預(yù)編譯期已經(jīng)對(duì)變量聲明語(yǔ)句進(jìn)行了預(yù)解析,所以第一行代碼讀取變量值時(shí)不會(huì)拋出異常,而是返回未初始化的值 undefined。第三行代碼是在賦值操作之后讀取,故顯示為數(shù)字 1。
提示:
JavaScript 引擎的解析方式是:先解析代碼,獲取所有被聲明的變量,然后再一行一行地運(yùn)行。 這樣,所有聲明的變量都會(huì)被提升到代碼的頭部,這就叫作變量提升(Hoisting)。
【