簡(jiǎn)單掌握J(rèn)avaScript中const聲明常量與變量的用法
ES6引入的第三個(gè)聲明類關(guān)鍵詞與let類似:const。
看一下用法:
const c1 = 1; const c2 = {}; const c3 = [];
Object.getOwnPropertyDescriptor(window,"c1") //Object {value: 1, writable: false, enumerable: true, configurable: false}
上面的例子說,不能在對(duì)c2進(jìn)行賦值,但是可以改變c2的內(nèi)容,因?yàn)閏2是個(gè)對(duì)象,看例子:
c2.p1 = 1;
同樣,也可以往c3中添加元素,因?yàn)閏3是個(gè)數(shù)組。
const聲明常量還有個(gè)問題,就是聲明和初始化必須在一起,聲明了就要初始化:
'use strict'; const c4;//Uncaught SyntaxError: Unexpected token ;
去掉分號(hào)仍然會(huì)報(bào)錯(cuò),我們這里不討論非strict mode下的情況,有興趣的可以自己去試。
const聲明的變量與let聲明的變量類似,它們的不同之處在于,const聲明的變量只可以在聲明時(shí)賦值,不可隨意修改,否則會(huì)導(dǎo)致SyntaxError(語法錯(cuò)誤)。
const MAX_CAT_SIZE_KG = 3000; // 正確 MAX_CAT_SIZE_KG = 5000; // 語法錯(cuò)誤(SyntaxError) MAX_CAT_SIZE_KG++; // 雖然換了一種方式,但仍然會(huì)導(dǎo)致語法錯(cuò)誤
當(dāng)然,規(guī)范設(shè)計(jì)的足夠明智,用const聲明變量后必須要賦值,否則也拋出語法錯(cuò)誤。
const theFairest; // 依然是語法錯(cuò)誤,你這個(gè)倒霉蛋
相關(guān)文章
document.open() 與 document.write()
document.open() 與 document.write()...2006-10-10注釋的藝術(shù)——JS里直接寫HTML,無需轉(zhuǎn)義
注釋的藝術(shù)——JS里直接寫HTML,無需轉(zhuǎn)義...2006-12-12淘寶網(wǎng)提供的國(guó)內(nèi)NPM鏡像簡(jiǎn)介和使用方法
我們以前介紹過cnpmjs.org,非常棒的npm國(guó)內(nèi)鏡像。由于其使用量越來越大,加上淘寶內(nèi)部也有很多項(xiàng)目使用 NodeJS,于是,淘寶正式基于 cnpmjs 推出了鏡像服務(wù)2014-04-04菜鳥學(xué)習(xí)JavaScript小實(shí)驗(yàn)之函數(shù)引用
由于變量b中保存的是函數(shù)的引用,當(dāng)函數(shù)變化時(shí),b也隨時(shí)變化,且不管函數(shù)出現(xiàn)的先后順序。兩次alert(b),雖然位置不一樣,但是內(nèi)容相同。2010-11-11盤點(diǎn)30個(gè)經(jīng)典常用的JavaScript知識(shí)點(diǎn)
這篇文章主要介紹了盤點(diǎn)30個(gè)經(jīng)典常用的JavaScript知識(shí)點(diǎn),為大家總結(jié)一篇日常經(jīng)常使用可能還不知道的點(diǎn),需要的朋友可以參考下2023-04-04