1. 程式人生 > >比較一下Java 與 JavaScript

比較一下Java 與 JavaScript

JavaScript 與Java是兩個公司開發的不同的兩個產品。Java 是原Sun Microsystems公司推出的面向物件的程式設計語言,特別適合於網際網路應用程式開發;而JavaScript是Netscape公司的產品,為了擴充套件Netscape瀏覽器的功能而開發的一種可以嵌入Web頁面中執行的基於物件和事件驅動的解釋性語言。JavaScript的前身是LiveScript;而Java的前身是Oak語言。

下面對兩種語言間的異同作如下比較:

- 基於物件和麵向物件:Java是一種真正的面向物件的語言,即使是開發簡單的程式,必須設計物件;JavaScript是種指令碼語言,它可以用來製作與網路無關的,與使用者互動作用的複雜軟體。它是一種基於物件(Object-Based)和事件驅動(Event-Driven)的程式語言,因而它本身提供了非常豐富的內部物件供設計人員使用。

- 解釋和編譯:Java的原始碼在執行之前,必須經過編譯。JavaScript是一種解釋性程式語言,其原始碼不需經過編譯,由瀏覽器解釋執行。(目前的瀏覽器幾乎都使用了JIT(即時編譯)技術來提升JavaScript的執行效率)

- 強型別變數和型別弱變數:Java採用強型別變數檢查,即所有變數在編譯之前必須作宣告;JavaScript中變數是弱型別的,甚至在使用變數前可以不作宣告,JavaScript的直譯器在執行時檢查推斷其資料型別。

- 程式碼格式不一樣。

上面列出的四點是網上流傳的所謂的標準答案。其實Java和JavaScript最重要的區別是一個是靜態語言,一個是動態語言。目前的程式語言的發展趨勢是函式式語言和動態語言。在Java中類(class)是一等公民,而JavaScript中函式(function)是一等公民,因此JavaScript支援函數語言程式設計,可以使用Lambda函式和閉包(closure),當然Java 8也開始支援函數語言程式設計,提供了對Lambda表示式以及函式式介面的支援。