深入了解用var聲明變量

ECMAScript的變量是松散類型的,所謂松散類型就是可以用來(lái)保存任何類型的數(shù)據(jù)。換句話說(shuō),每個(gè)變量?jī)H僅是一個(gè)用于保存值的占位符而已。定義變量時(shí)要使用 var 操作符(注意 var 是一個(gè)關(guān)鍵字)因俐,后跟變量名(即一個(gè)標(biāo)識(shí)符),如下所示:

var message;

這行代碼定義了一個(gè)名為 message 的變量,該變量可以用來(lái)保存任何值(像這樣未經(jīng)過(guò)初始化的變量抹剩,會(huì)保存一個(gè)特殊的值—— undefined )撑帖。ECMAScript 也支持直接初始化變量,因此在定義變量的同時(shí)就可以設(shè)置變量的值澳眷,如下所示:

var message = “hi”;

在此胡嘿,變量 message 中保存了一個(gè)字符串值 “hi” 。像這樣初始化變量并不會(huì)把它標(biāo)記為字符串類型钳踊;初始化的過(guò)程就是給變量賦一個(gè)值那么簡(jiǎn)單衷敌。因此,可以在修改變量值的同時(shí)修改值的類型拓瞪,如下所示:

var message = “hi”;
message = 100; // 有效缴罗,但不推薦

在這個(gè)例子中,變量 message 一開(kāi)始保存了一個(gè)字符串值 “hi” 祭埂,然后該值又被一個(gè)數(shù)字值 100 取代面氓。雖然我們不建議修改變量所保存值的類型,但這種操作在ECMAScript 中完全有效蛆橡。

有一點(diǎn)必須注意舌界,即使用 var 操作符定義的變量將成為定義該變量的作用域中的局部變量。也就是說(shuō)泰演,如果在函數(shù)中使用 var 定義一個(gè)變量呻拌,那么這個(gè)變量在函數(shù)退出后就會(huì)被銷毀,例如:

function test(){
var message = “hi”; // 局部變量
}
test();
alert(message); // 錯(cuò)誤睦焕!

這里藐握,變量 message 是在函數(shù)中使用 var 定義的。當(dāng)函數(shù)被調(diào)用時(shí)复亏,就會(huì)創(chuàng)建該變量并為其賦值趾娃。而在此之后,這個(gè)變量又會(huì)立即被銷毀缔御,因此例子中的下一行代碼就會(huì)導(dǎo)致錯(cuò)誤。不過(guò)妇蛀,可以像下面這樣省略 var 操作符耕突,從而創(chuàng)建一個(gè)全局變量:

function test(){
message = “hi”; // 全局變量
}
test();
alert(message); // “hi”

這個(gè)例子省略了 var 操作符,因而 message 就成了全局變量评架。這樣眷茁,只要調(diào)用過(guò)一次test() 函數(shù),這個(gè)變量就有了定義纵诞,就可以在函數(shù)外部的任何地方被訪問(wèn)到上祈。

提示

雖然省略 var 操作符可以定義全局變量,但這也不是我們推薦的做法。因?yàn)樵诰植孔饔糜蛑卸x的全局變量很難維護(hù)登刺,而且如果有意地忽略了 var 操作符籽腕,也會(huì)由于相應(yīng)變量不會(huì)馬上就有定義而導(dǎo)致不必要的混亂。給未經(jīng)聲明的變量賦值在嚴(yán)格模式下會(huì)導(dǎo)致拋出 ReferenceError 錯(cuò)誤纸俭。

ES6中新增了let聲明變量


ES6中新增了const聲明變量

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末皇耗,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子揍很,更是在濱河造成了極大的恐慌郎楼,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件窒悔,死亡現(xiàn)場(chǎng)離奇詭異呜袁,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)简珠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)阶界,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人北救,你說(shuō)我怎么就攤上這事荐操。” “怎么了珍策?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵托启,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我攘宙,道長(zhǎng)屯耸,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任蹭劈,我火速辦了婚禮疗绣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘铺韧。我一直安慰自己多矮,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布哈打。 她就那樣靜靜地躺著塔逃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪料仗。 梳的紋絲不亂的頭發(fā)上湾盗,一...
    開(kāi)封第一講書(shū)人閱讀 51,590評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音立轧,去河邊找鬼格粪。 笑死躏吊,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的帐萎。 我是一名探鬼主播比伏,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼吓肋!你這毒婦竟也來(lái)了凳怨?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤是鬼,失蹤者是張志新(化名)和其女友劉穎肤舞,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體均蜜,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡李剖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了囤耳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片篙顺。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖充择,靈堂內(nèi)的尸體忽然破棺而出德玫,到底是詐尸還是另有隱情,我是刑警寧澤椎麦,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布宰僧,位于F島的核電站,受9級(jí)特大地震影響观挎,放射性物質(zhì)發(fā)生泄漏琴儿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一嘁捷、第九天 我趴在偏房一處隱蔽的房頂上張望造成。 院中可真熱鬧,春花似錦雄嚣、人聲如沸晒屎。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)夷磕。三九已至,卻和暖如春仔沿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背尺棋。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工封锉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绵跷,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓成福,卻偏偏與公主長(zhǎng)得像碾局,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子奴艾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

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

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理净当,服務(wù)發(fā)現(xiàn),斷路器蕴潦,智...
    卡卡羅2017閱讀 134,657評(píng)論 18 139
  • 工廠模式類似于現(xiàn)實(shí)生活中的工廠可以產(chǎn)生大量相似的商品像啼,去做同樣的事情,實(shí)現(xiàn)同樣的效果;這時(shí)候需要使用工廠模式潭苞。簡(jiǎn)單...
    舟漁行舟閱讀 7,761評(píng)論 2 17
  • 第5章 引用類型(返回首頁(yè)) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,234評(píng)論 0 4
  • 第一章: JS簡(jiǎn)介 從當(dāng)初簡(jiǎn)單的語(yǔ)言忽冻,變成了現(xiàn)在能夠處理復(fù)雜計(jì)算和交互,擁有閉包此疹、匿名函數(shù)僧诚, 甚至元編程等...
    LaBaby_閱讀 1,672評(píng)論 0 6
  • 余生有兩個(gè)幸運(yùn) 一次遇見(jiàn)你 一次白頭是與你
    麻天喜閱讀 236評(píng)論 0 2