JavaScript保留字

JavaScript把一些標(biāo)識符拿出來用做自己的關(guān)鍵字。因此程序中不能在用這些關(guān)鍵字做標(biāo)識符:

break????????delete????????function????????return????????typeof????????
case?????????do??????????????if???????????????????return????????switch
catch????????else???????????in??????????????????this????????????void
continue???false??????????instanceof????throw?????????while
debugger?finally?????????new??????????????true?????????????with
default?????for??????????????null???????????????try

javascript同樣保留一些關(guān)鍵字,這些關(guān)鍵字在當(dāng)前版本并沒有使用,但在未來版本可能會用到。ECMAScript 5保留了這些關(guān)鍵字:

class????const????enum????export????extneds????import????super

此外下面這些關(guān)鍵字在普通的javascript代碼中是合法的,但在嚴格模式下是保留字:

implements??let??private??public??yield??interface??package??protected ??static

嚴格模式同樣對下面標(biāo)識符的使用做了嚴格限制,它們并不完全是保留字,但不能用做變量名、函數(shù)或參數(shù)名:

arguments????eval

ECMAScript 3將Java所有的關(guān)鍵字都列為自己的保留字,盡管這些保留字在ECMAScript 5中放寬了限制,但是如果希望代碼在ECMAScript 3解釋器運行的話,應(yīng)該避免這些字符:

abstract????double????goto????native????static????boolean????enum????implements????package????super????byte????export????import????private????synchronized????char????extends????int????protected????throws????class????final????interface????public????transient????const????float????long????short????volatile

JavaScript預(yù)定義了很多全局變量和函數(shù),應(yīng)當(dāng)避免把它們的名字用做變量名和函數(shù)名:

arguments????encodeURI????Infinity????Number????RegExp????Array????encodeURIComponent????isFinite????Object????String????Boolean????Error????isNan????parseFloat????SyntaxError????Date????eval????JSON????parseInt????TypeError????decodeURI????EvalError????Math????RangeError????undefined????decodeURIComponent????Function????NaN????ReferenceError????URIError

JavaScript的具體實現(xiàn)可能定義獨有的全局變量和函數(shù),每一種特定的JavaScript運行環(huán)境都有自己的一個全局屬性列表,這一點需要牢記。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容