在javascript中,標(biāo)識(shí)符是指用戶編程時(shí)使用的名字,用于給變量、常量、函數(shù)、語(yǔ)句塊等命名,以建立起名稱與使用之間的關(guān)系;標(biāo)識(shí)符通常由字母和數(shù)字以及其它字符構(gòu)成。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦
javascript標(biāo)識(shí)符
標(biāo)識(shí)符(Identifier)就是名稱的專業(yè)術(shù)語(yǔ)。JavaScript 標(biāo)識(shí)符包括變量名、函數(shù)名、參數(shù)名和屬性名。
標(biāo)識(shí)符是用戶編程時(shí)使用的名字,用于給變量、常量、函數(shù)、語(yǔ)句塊等命名,以建立起名稱與使用之間的關(guān)系。標(biāo)識(shí)符通常由字母和數(shù)字以及其它字符構(gòu)成。
合法的標(biāo)識(shí)符應(yīng)該注意以下強(qiáng)制規(guī)則:
-
第一個(gè)字符必須是字母、下劃線(_)或美元符號(hào)($)。
-
除了第一個(gè)字符外,其他位置可以使用 Unicode 字符。一般建議僅使用 ASCII 編碼的字母,不建議使用雙字節(jié)的字符。
-
不能與 JavaScript 關(guān)鍵字、保留字重名。
-
可以使用 Unicode 轉(zhuǎn)義序列。例如,字符 a 可以使用“u0061”表示。
示例
在下面示例中,定義變量 a,使用 Unicode 轉(zhuǎn)義序列表示變量名。
var u0061 = "字符 a 的 Unicode 轉(zhuǎn)義序列是 \0061"; document.write(u0061);
使用轉(zhuǎn)義序列不是很方便,一般常用轉(zhuǎn)義序列表示特殊字符或名稱,如 JavaScript 關(guān)鍵字、程序腳本等。
關(guān)鍵字
關(guān)鍵字就是 ECMA-262 規(guī)定的 JavaScript 語(yǔ)言內(nèi)部使用的一組名稱(或稱為命令)。這些名稱具有特定的用途,用戶不能自定義同名的標(biāo)識(shí)符。具體說(shuō)明如表所示。
break | delete | if | this | while |
case | do | in | throw | with |
catch | else | instanceof | try | |
continue | finally | new | typeof | |
debugger(ECMAScript 5 新增) | for | return | var | |
default | function | switch | void |
保留字
保留字就是 ECMA-262 規(guī)定的 JavaScript 語(yǔ)言內(nèi)部預(yù)備使用的一組名稱(或稱為命令)。這些名稱目前還沒(méi)有具體的用途,是為 JavaScript 升級(jí)版本預(yù)留備用的,建議用戶不要使用。具體說(shuō)明如表所示。
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 |
ECMAScript 3 將 Java 所有關(guān)鍵字都列為保留字,而 ECMAScript 5 規(guī)定較為靈活。
例如,在非嚴(yán)格模式下,僅規(guī)定 class、const、enums、export、extends、import、super 為保留字,其他 ECMAScript 3 保留字可以自由使用;在嚴(yán)格模式下,ECMAScript 5 變得更加謹(jǐn)慎,嚴(yán)格限制 implements、interface、let、package、private、protected、public、static、yield、eval(非保留字)、arguments(非保留字)的使用。
JavaScript 預(yù)定義了很多全局變量和函數(shù),用戶也應(yīng)該避免使用它們。具體說(shuō)明如表所示。
arguments | encodeURL | Infinity | Number | RegExp |
Array | encodeURLComponent | isFinite | Object | String |
Boolean | Error | isNaN | parseFloat | SyntaxError |
Date | eval | JSON | parseInt | TypeError |
decodeURL | EvalError | Math | RangeError | undefined |
decodeURLComponent | Function | NaN | ReferenceError | URLError |
【