引自《 JavaScript 權威指南》2.4 / P28 ~ 29? 保留字 部分
保留字
JavaScript 把一些標識符拿出來用作自己的關鍵字。因此,就不能再在程序中把這些關鍵字用作標識符了:
123456
break???????delete??????function????????return??????typeof??
case????????do??????????if??????????????switch??????var
catch???????else????????in??????????????this????????void
continue????false???????instanceof??????throw???????while
debugger????finally?????new?????????????true????????with
default?????for?????????null????????????try?????????
ES 5 保留了這些關鍵字,關鍵字在 ES 6 中已經使用:
?
保留字 Part2.txt
1
class???????const???????enum????????export??????extends?????import??????super
嚴格模式下是保留字:
?
保留字 Part3.txt
12345
implements??????let?????????private?????public??????yield
interface???????package?????protected???static
//?嚴格模式同樣對以下標識符的作用做了嚴格限制,它們并不完全是保留字,但不能用作變量名、函數名或參數名:
arguments???????eval
ES 3 中 將 Java 的所有關鍵字都列為自己的保留字,盡管以下這些保留字在 ES 5 中放寬了限制,但如果你希望代碼能在基于 ES 3 實現的解釋器上運行的話,應當避免使用這些關鍵字作為標識符(下面我好像都沒作為變量名用過):
?
保留字 Part4.txt
123456
abstract????????double??????goto????????native??????static
boolean?????????enum????????implements??package?????super
byte????????????export??????import??????private?????synchronized
char????????????extends?????int?????????protected???throws
class???????????finally?????interface???public??????transient
const???????????float???????long????????short???????volatile
JS 中的一些預定義的全局變量名以及函數,應當避免把它們的名字用做變量名和函數名(普通 IDE 應該都有 Highlight 提示,不用擔心,而且下面的名字都耳熟能詳了吧,注意大小寫就是了):
?
保留字 Part5.txt
123456
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 運行環境(客戶端、服務器端等)都有自己的有一個全局屬性的列表,當然你用全拼音字母命名法無敵好吧~