官术网_书友最值得收藏!

3.1 基本語法

3.1.1 語句

JavaScript中的語句以英文分號(;)結束,表示一行代碼的結束,但分號可以省略,解析器(例如瀏覽器的JavaScript引擎)會在解析JavaScript代碼時自動在每個語句的結尾補上分號。

      let a = 1;

盡管分號可以省略,但不建議省略,因為在某些情況下,自動補全的分號會導致代碼的運行結果與期望的不一致,例如下面的代碼:

會被解析為:

不過,編碼規范的問題主要看個人和團隊的習慣和要求,這方面沒有強制的要求。

3.1.2 注釋

注釋通常用來對一段代碼進行描述,以便開發人員能快速了解這段代碼的作用,提高代碼的可讀性,也可以用來屏蔽一段代碼的運行。

在JavaScript中,你可以使用單行注釋和多行注釋,注釋中的語句不會被解析器解析并執行,具體如下。

下面以1.4.1小節中的示例代碼為例,對其中的JavaScript代碼進行注釋:

保存修改后刷新頁面,此時瀏覽器中將不再出現hello world字樣,而是顯示空白。

此外,良好的注釋有利于代碼的可維護性和團隊協作性,在工作和學習中這一點都很重要。

3.1.3 標識符

標識符指的是變量、屬性、函數的名稱或函數的參數,示例如下。

在上述代碼中:

  • 變量名num、obj是標識符。
  • 屬性名name是標識符。
  • 函數名foo是標識符。
  • 函數參數arg是標識符。

到這里,你可能發現了一個規律,標識符都是英文字母,那么,標識符的名稱是不是只能由英文字母組成呢?

1. 標識符的命名

標識符不全是由英文字母組成的,標識符以字母、下畫線或$符號開頭,其后選擇性地跟隨一個或多個字母、數字、下畫線、$符號。

其中,字母可以是中文、英文、日文、韓文等,這是因為JavaScript中的字母是采用Unicode統一編碼制的,是國際上通用的16位編碼制,它包含了亞洲文字編碼。因此,JavaScript的字母不是只有英文字母。

示例如下。

上述代碼可以正常運行。

2. 標識符名稱區分大小寫

標識符的名稱區分大小寫,變量名a和變量名A表示兩個不同的變量,閱讀并運行下面的代碼。

      let a = 1;
      let A = 1;
      a === A; // -> false
3. 標識符名稱不能為關鍵字和保留字

關鍵字有其特定含義,是語法中的一部分,例如常見的var,我們不能定義一個變量名為var的變量,具體如下。

      //運行報錯
      let var = 1;

保留字是語法中定義過的字,為了使當前版本的代碼能向后兼容,為將來的關鍵字保留的單詞,因此,保留字也不允許作為標識符使用,具體如下。

      //運行報錯
      let int = 1;
4. 標識符作為屬性名時,可以為關鍵字和保留字

示例如下。

5. 標識符命名規范

命名規范并不是語言標準的一部分,命名規范是通過一些約定俗成的方式對標識符的命名進行限制的,使其有利于他人或自己閱讀。

常見的命名規范有以下3種。

  • 匈牙利命名法
  • 駝峰式命名法
  • 帕斯卡命名法
· 匈牙利命名法

匈牙利命名法是在單詞(這個單詞的首字母需要大寫,并指明變量的用途)前面加上表示相應的小寫字母的符號作為前綴,標識出變量的作用域和類型等,這些符號可以有多個,并組合成一個變量名。

在匈牙利命名法中,s表示字符串String,所以一個字符串的變量名可以是:

      let sMyName;
      let sMyFirstName;
· 駝峰式命名法

駝峰式命名法通過拆分單詞,并將第一個單詞以小寫字母開始,第二個及之后的單詞的首字母大寫,組合成一個變量名,示例如下。

      let myName;
      let myFirstName;

這樣的變量名看上去就像駝峰一樣此起彼伏,因而得名。

· 帕斯卡命名法

與駝峰式命名法類似,只不過駝峰式命名法是第一個單詞的首字母小寫,而帕斯卡命名法是第一個單詞的首字母也大寫,示例如下。

      let MyName;
      let MyFirstName;

無論使用哪種命名法,盡量使變量名具有特定的含義,即便變量名會變得比較長,但要避免定義一些奇怪的變量名。

練習

  • 命名一些標識符。
主站蜘蛛池模板: 荆州市| 新龙县| 红河县| 靖江市| 仪征市| 左权县| 织金县| 锡林浩特市| 卢龙县| 衡南县| 蓬溪县| 孝义市| 巴彦淖尔市| 定陶县| 招远市| 吉水县| 舞钢市| 祁阳县| 新乡县| 抚顺市| 长垣县| 德安县| 孟津县| 平湖市| 苏尼特右旗| 博兴县| 新野县| 辽阳市| 建宁县| 金坛市| 当阳市| 闻喜县| 杂多县| 小金县| 建瓯市| 当雄县| 英吉沙县| 扎囊县| 怀宁县| 丹棱县| 壶关县|