第1章 資料型別 第1節 JavaScript中的幾個重要概念
本文我們講解一下 JavaScript 中的幾個簡單的概念,包括識別符號、關鍵字、保留字、大小寫和字面量。這些基本概念雖然不能直接提升我們的程式設計能力,但它們是 JavaScript 的基本組成元素。
1. 識別符號
所謂識別符號(Identifier),就是名字。JavaScript 中的識別符號包括變數名、函式名、引數名、屬性名、類名等。
合法的識別符號應該注意以下強制規則:
- 第一個字元必須是字母、下劃線(_)或美元符號($)。
- 除了第一個字元外,其他位置可以使用 Unicode 字元。一般建議僅使用 ASCII 編碼的字母,不建議使用雙位元組的字元。
- 不能與 JavaScript 關鍵字、保留字重名。
- 可以使用 Unicode 轉義序列。例如,字元 a 可以使用“\u0061”表示。
示例
在下面示例中,str 就是變數的名字:。
- var str = "C語言中文網:c.biancheng.net";
- document.write(str);
第1行程式碼定義了一個變數,名字為 str,第2行通過 str 這個名字使用了變數。
2. 關鍵字
關鍵字(Keyword)就是 JavaScript 語言內部使用的一組名字(或稱為命令)。這些名字具有特定的用途,使用者不能自定義同名的識別符號,具體說明如表所示。
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 |
3. 保留字
保留字就是 JavaScript 語言內部預備使用的一組名字(或稱為命令)。這些名字目前還沒有具體的用途,是為 JavaScript 升級版本預留備用的,建議使用者不要使用。具體說明如表所示。
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 所有關鍵字都列為保留字,而 ECMAScript 5 規定較為靈活,例如:
- 在非嚴格模式下,僅規定 class、const、enums、export、extends、import、super 為保留字,其他 ECMAScript 3 保留字可以自由使用;
- 在嚴格模式下,ECMAScript 5 變得更加謹慎,嚴格限制 implements、interface、let、package、private、protected、public、static、yield、eval(非保留字)、arguments(非保留字)的使用。
JavaScript 預定義了很多全域性變數和函式,使用者也應該避免使用它們,具體說明如表所示。
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 |
不同的 JavaScript 執行環境都會預定義一些全域性變數和函式,上表列出的僅針對 Web 瀏覽器執行環境。
無論是在嚴格模式下還是在非嚴格模式下,都不要在定義變數名、函式名或者屬性名時使用上面列舉出的保留字,以免同學們入坑。
4. 區分大小寫
JavaScript 嚴格區分大小寫,所以 Hello 和 hello 是兩個不同的識別符號。
為了避免輸入混亂和語法錯誤,建議採用小寫字元編寫程式碼,在以下特殊情況下可以使用大寫形式:
1) 建構函式的首字母建議大寫。建構函式不同於普通函式。
示例
下面示例呼叫預定義的建構函式 Date(),建立一個時間物件,然後把時間物件轉換為字串顯示出來。
- d = new Date(); //獲取當前日期和時間
- document.write(d.toString()); // 顯示日期
2) 如果識別符號由多個單片語成,可以考慮使用駱駝命名法——除首個單詞外,後面單詞的首字母大寫。例如:
- typeOf();
- printEmployeePaychecks();
提示:
上述都是約定俗成的一般習慣,不構成強制性要求,使用者可以根據個人習慣進行命名。