天天看點

《JavaScript和jQuery實戰手冊(原書第2版)》——2.11節注釋

2.11 注釋

有的時候,當你思考程式設計的時候,會覺得自己了解程式中所進行的所有事情。代碼的每一行都有意義,并且更好的是,它們還都能工作。但是,一個月或兩個月以後,當你的老闆或客戶請你對自己所編寫的漂亮腳本做一個更改或添加一項新功能的時候,你可能會看着似曾相識的javascript代碼抓耳撓腮:這個變量的作用是什麼?為什麼我要這樣寫程式呢?程式的這一段做什麼事情呢?

我們很容易忘記一個程式是如何工作的以及為什麼按照這樣的方式來編寫代碼。好在大多數程式設計語言為程式員提供了一種方法,使得他們可以給自己或其他閱讀代碼的人留下提示。javascript允許在代碼中添加注釋。如果你使用過html或css注釋,那麼也會熟悉javascript的注釋。注釋是一行或多行有用的提示javascript解釋器忽略它們,但是它們對于程式如何工作可以提供有價值的資訊。

javascript注釋的文法和css相同。要建立單行注釋,以雙斜杠開始:

javascript解釋器執行一行中的每一項内容,直到它遇到//,然後它跳轉到下一行的開始。

我們也可以使用/開始數行有用的注釋,并且使用/結束它(這和css所使用的注釋類型是一樣的)。javascript解釋器忽略兩組符号之間的所有文本。例如,假設要在代碼開始處描述一個程式如何工作,可以像下面這樣做:

通常,如果我們隻是想要編寫一個簡短的、單行的注釋,可以使用//。對于數行注釋,使用/和/組合。

2.11.1 何時使用注釋

對于相當長或複雜并且将來也會使用(并且可能修改)的程式來說,注釋是很有價值的工具。盡管目前所學習的簡單的腳本都隻是一行或兩行代碼,但我們最終要建立較長或更複雜的程式。要確定可以快速搞清楚腳本在做什麼,一種好辦法是,添加注釋以幫助了解程式的整體邏輯并說明任何特别容易混淆的地方或複雜的地方。

提示: 在腳本中添加太多的注釋會使得腳本更大(并且下載下傳起來更慢)。然而,我們将在14.7節了解到,有一些方法使得javascript檔案更小且更快。

很多程式員在一個外部javascript檔案的開始處添加一段注釋。這些注釋可以說明這段腳本是用來做什麼的,表明腳本的建立日期(包括用于經常更新的腳本的一個版本号),并且提供版權資訊。

例如,在jquery庫的javascript檔案的開始處,可以看到這樣一段注釋:

在腳本的開始,可能還會包含如何使用腳本的說明:為了讓腳本工作,可能需要設定的變量、可能需要對html所做的任何特定操作等。

也可以在一系列複雜的程式設計步驟之前添加一段注釋。例如,假設編寫一個腳本來實作通路者浏覽器視窗中的圖像動畫。這段腳本的一部分是确定圖像在浏覽器視窗中的目前位置。這可能會占用數行複雜的程式,在這段程式前面添加注釋是一個好辦法,這樣一來,當随後檢視腳本的時候,就知道程式的這一部分到底幹什麼:

在任何地方添加注釋的首要基本原則是,你發現這些注釋随後有用。如果一行代碼十分顯而易見,可能不需要注釋。例如,為alert('hello')這樣的簡單代碼添加注釋,顯然是沒有什麼理由的,因為它要做什麼顯而易見(打開一個警告框,其中顯示單詞“hello”)。

2.11.2 本書中的注釋

在說明javascript的時候,注釋也非常有用。在本書中,注釋常常用來說明一行程式做什麼,或者指明一條特定語句的結果。例如,我們可能看到如下注釋,它展示了一條alert語句的結果:

第三行以一個注釋結束,該注釋表明了當在web浏覽器中預覽這段代碼的時候會看到什麼内容。在閱讀本書的時候,如果想要測試代碼,可以将它們添加到一個web頁面并且在web浏覽器中檢視,在把代碼輸入web頁面的時候,可以省略注釋。這些類型的注釋隻是在你閱讀本書的時候用來幫助你了解代碼中發生了什麼。

随着開始學習javascript中更為複雜的指令,将會開始操作變量中的資料。我們将會常常看到本書中的代碼注釋用來指出在指令運作後變量中應該存儲的是什麼。例如,charat()指令允許選擇字元串中特定位置的一個字元。當在本書中讀到如何使用這些指令的時候,可能會看到如下所示的代碼:

出現在第二行末尾的注釋// 'w'表明:如果代碼實際在一個web浏覽器中運作的話,我們會在警告對話框中看到什麼(沒錯,'w'是對的,字元串像數組一樣,是以,一個字元串的第一個字母的索引位置為0,是以,charat(2)從字元串中擷取第三個字元。有時候,程式設計隻是傷腦筋)。

繼續閱讀