JavaScript

   


JavaScript 簡介


誕生

Netscape 公司於 1994 年 4 月成立, 初時發展了一種電腦語言 LiveScript , 其發展目的主要有兩個: 第一, 在伺服器端, 附助 Netscape 發展的伺服器程式 LiveWire。 第二, 在客戶端, 加強 HTML 的表達能力, 亦即是提高網頁的互動性。

當時 Sun 公司也在發展 Java , 其後因為 Sun 公司與 Netscape 公司合作發展 LiveScript , 所以 LiveScript 就改名做 JavaScript, 而發展目的也多了一個, 就是附助 Java 在網頁上運作, 最後,   JavaScript 於 1995 年 12 月誕生了, 版本為 1.0 , 支援的瀏覽器有 Netscape Navigator 2.0 。

根據 Netscape 公司的統計, 現時網上有大約 3 百萬網頁使用了 JavaScript 。

若果想了解 JavaScript 的版本資訊, 請參看本站的初階教學。

功能

JavaScript 可分成兩類: Client-Side JavaScript (客戶端 JavaScript) 和 Server-Side JavaScript (伺服器端 JavaScript), 而本站所講述的 JavaScript 只限於客戶端 JavaScript , 至於伺服器端 JavaScript , 可以去 Netscape JavaScript Reference 。

顧名思義, 客戶端可以是我們所用的瀏覽器, 客戶端 JavaScript 只可以在瀏覽器內執行。

很多人會以為 JavaScript 和 Java 是同一樣東西, 其實它們在技術上是有很大分別的, 它們只是語法相近而已。 以下是 JavaScript 和 Java 的基本分別:

JavaScript Java
編寫在 HTML 檔內 不能編寫在 HTML 檔
瀏覽器在開啟 HTML 檔時會直譯 (Interpret) JavaScript, 之後就可執行 編寫的程式需要編譯 (Complie) 做 Java byte-code 才可執行
不能讀寫檔案, 最多只能運用 Cookie 技術儲存少許資料在瀏覽器 可以讀寫檔案
不能控制網絡 可以控制網絡

JavaScript 沒有一般伺服器及網絡控制的功能, 而為了防止網絡病毒散播, JavScript 也不能讀寫檔案。 JavaScript 的發展目的在於提高網頁的互動性, 所以在網頁內容控制方面, JavaScript 算是最方便快捷的。

在未有 JavaScript 之前, 很多網頁的互動都要靠 CGI (共同閘道介面), 簡單來說就是在伺服器執行一個程式, 這個程式可以處理瀏覽器所提供的資料, 例如接收客戶端送出的表單資料, 然後檢查錯誤, 有錯就傳回網頁, 指出那些地方有錯, 當客戶端改正錯誤後就再送出表單, 直至資料正確為止。

有了 JavaScript 之後, 很多工作都可以在瀏覽器完成, 大大減少伺服器的工作。 例如當客戶端決定送出表單, 就可以用 JavaScript 來檢查表單資料的表面錯誤, 例如打錯了電郵地址、打漏了姓名等, 這時 JavaScript 可以彈出一個瀏覽器訊息, 通知他資料錯誤, 直至沒有錯誤才送出表單。檢查這些不用和伺服器溝通的錯誤, 就可以用 JavaScript 了, 但也不可以完全依賴 JavaScript , JavaScript 只能減輕伺服器的工作, 而不能取代它的工作。

語言特性

  • 大小楷有別 (Case sensitve)

    這點與 HTML 標記不同, 例如 bgcolor、bgColor、BgColor 和 BGCOLOR 都是不同的東西。

  • 物件導向 (Object-Oriented)

    物件導向可以說是一種思考方法, 它把任何東西都視作一個物件, 當你想做某些工作時, 只要想想該件工作與什麼物件有關, 就可以很容易去表示它, 而不用硬記一些沒有關聯的指令名稱。

  • 寬鬆型態 (Loosely Typed)

    如果你有電腦語言的認識, 就會知道資料是有不同的型態的, 例如字串、數目等, 而且當要轉變資料型態時, 就要寫一些敘述來處理。

    不過 JavaScript 的資料型態是可以隨時變更的, 例如一個變數原本是字串型態, 你也可以用它來儲存數目。 這就是 JavaScript 容易學習的原因, 不過老師還是建議大家小心運用這個特性。

危機

  1. 支援性

    JavaScript 可以在 NN 2.0 , IE 3.0 和 Opera 3.0 或以上版本的瀏覽器執行, 但執行的結果未必完全相同, 就好像 HTML 網頁會有不同的效果, 所以寫 JavaScript 也須要在不同的瀏覽器測試執行結果, 對於初學者來說是很難掌握的。

    就算這些瀏覽器支援 JavaScript , 但瀏覽者會因為某些原因而關閉 JavaScript 功能, 例如現在很多免費網頁供應商都在用戶的網頁加入 JavaScript 突現廣告視窗 (pop-up window), 還有那些設計得很差的網頁往往濫用了 JavaScript , 這些都會令瀏覽者覺得煩厭而關閉 JavaScript 功能。

  2. 保安漏洞

    瀏覽者也會怕 JavaScript 有保安漏洞, 或者怕 JavaScript 會拖慢網頁下載速度而關閉 JavaScript。 而事實證明, JavaScript 和其它同類東西一樣, 都存在保安漏洞的問題。

未來發展

  • 老師聽聞遲些 JavaScript 語言會有統一的標準, 相信到時就不會出現不同瀏覽器有不同的執行結果了。

學習 JavaScript 的基本條件

  1. 對 HTML 非常熟識, 因為 JavaScript 是寫在 HTML 檔內, 而且會用到 HTML 檔內的元件, 例如表單、連結和窗柜等。
  2. 對程式設計有基本認識, 例如一般程式的敘述, 如果你已學識了一種語言, 就會發覺 JavaScript 是非常容易的。






[到頁頂] [首頁] [速查表]