- 摩刻部落 - https://www.moke.tw/wordpress -

JavaScript腳本語言(1)-語法架構

JavaScript 雖然名字有 Java,不過除了語法相似之外,兩者其實沒有什麼關係。JavaScript 最初是由 Netscape 發展的,中間還曾經一度遭受 Microsoft 的打壓,後來交給 ECMA 制定標準,現在則成為 HTML5 中不可或缺的一部份。

JavaScript 是所謂的腳本語言 [1],它通常是結合某些現有的應用程式或是硬體程序執行,無法獨立存在。以網頁來說,就是要結合瀏覽器才能執行 JavaScript 語法。腳本語言通常是直譯式的語言,以純文字(如ASCII)的形式保存,只有在執行的時候可能會進行編譯(將程式轉換成機器語言)。

大部份的人撰寫 JavaScript 是為了要在網頁(瀏覽器)中執行,不過如果有其他應用程式軟體加裝了 JavaScript 直譯器(如 Rhino),也是可以使用 JavaScript 來進行軟體的操作。本系列文章主要還是針對網頁程式設計作教學。

客戶端程式語言
學習網路相關的知識,一定要知道所謂的 Client/Server 架構。看網頁的人是 Client 端,而提供網頁或服務的人則是 Server 端。無論是 HTML、CSS 或 JavaScript 都是在 Client 端執行的程式,而 ASP.NET、PHP、JSP…等等則是在 Server 端執行。舉例來說,Yahoo 或是 Google 就是 Server 端,大家都要找他們"索取"網頁,他一個人要服務好幾百萬的人。所以為了要減輕他們的負擔,很多程式都會盡可能的丟給 Client 端,讓瀏覽器來處理。

JavaScript 就是最常在 Client 端執行的程式語言。當程式設計師在撰寫 Server 端的程式語言時,應該要考慮那些部份是由 Server 端執行,那些部份可以交給 Client 端執行。在後續的文章中如果有牽涉到這個部份,會再提醒大家。

在HTML中的程式撰寫位置
JavaScript在HTML中的程式撰寫位置與CSS [2]類似,有三個"藏身"地點。第一個是最普遍的使用<script></script>標籤來包覆。language屬性是用來表示為 JavaScript 語言(尚有VBScript、JScript等語言)。


第二種方式是使用外部檔案,將程式直接寫在 .js 檔中,再用<script>標籤載入。


	



第三個是結合HTML標籤的「事件」處理。它原本是HTML標籤的擴充屬性,後來則成為標準的一部份,即是HTML事件。下面是一個簡單的事件範例,後面會再針對HTML事件做詳細說明:

JavaScript寫作風格
關於寫作風格的說明,請參考「基礎程式設計(1)-基本概念 [3]」。

對 JavaScript 語言來說,大小寫是不同字元。不過對 HTML 來說,大小寫卻是沒有區別的。所以在 HTML事件裡,onclick、onClick 或 OnClick 都是一樣的,可是在 JavaScript 中卻一定要使用 onclick 才行。

結尾符號「;」在 JavaScript 中是可有可無的(沒有強制撰寫),它會自動認為每一行就是一行程式。這有的時候會造成程式上的錯誤,所以建議同一行程式最好不要隨便分行撰寫,除非是語法本身就可以拆行。

JavaScript 的註解符號和 Java 一樣,利用 /* */ 進行多行的註解,而 // 則是單行註解:

//單行註解是從//到該行結尾
/*
	多行註解可以橫跨多行
	但是在註解中不可以再打一次註解(巢狀)
*/

JavaScript系列文章參考網站:W3Schools [4]

JavaScript系列文章參考書目:
More about JavaScript 大全 [5]