雖然JavaScript與Java有緊密的聯絡,但卻是兩個公司開發的不同的產品。Java是SUN公司推出的 新一代物件導向的程式設計語言,特別適合於Internet應用程式開發;而JavaScript是Netscape公司的產品,其目的是為了擴充 Netscape Navigator功能,而開發的一種可以嵌入Web頁面中的基於對象和事件驅動的解釋性語言, 它的前身是Live Script;而Java的前身是Oak語言。
下面對兩種語言間的異同作如下比較:
1.基於對象和物件導向
Java是一種真正的物件導向的語言,即 使是開發簡單的程式,必須設計對象。JavaScript是種指令碼語言,它可以用來製作與網路無關的,與使用者互動作用的複雜軟體。它是一種基於對象 (Object Based)和事件驅動(Event Driver)的程式設計語言。因而它本身提供了非常豐富的內部對象供設計人員使用。
2.解釋和編譯
兩種語言在其瀏覽器中所執行的方式不一樣。Java的原始碼在傳遞到用戶端執行之前,必須經過編譯,因而用戶端上必須具有相應平台上的模擬器或解譯器,它可以通過編譯器或解譯器實現獨立於某個特定的平台編譯代碼的束縛。
JavaScript是一種解釋性程式設計語言,其原始碼在發往用戶端執行之前不需經過編譯,而是將文字格式設定的字元代碼發送給客戶編由瀏覽器解釋執行。
3.強變數和弱變數
兩種語言所採取的變數是不一樣的。Java採用強型別變數檢查,即所有變數在編譯之前必須作聲明。如:
複製代碼 代碼如下:
Integer x;
String y;
x=1234;
x=4321;
其中X=1234說明是一個整數,Y=4321說明是一個字串。JavaScript中變數聲明,採用其弱類型。即變數在使用前不需作聲明,而是解譯器在運行時檢查其資料類型,如:
複製代碼 代碼如下:
x=1234;
y="4321";
前者說明x為其數值型變數,而後者說明y為字元型變數。
4.代碼格式不一樣
Java是一種與HTML無關的格式,必須通過像HTML中引用外媒體那麼進行裝載,其代碼以位元組代碼的形式儲存在獨立的文檔中。JavaScript的代碼是一種文本字元格式設定,可以直接嵌入HTML文檔中,並且可動態裝載。編寫HTML文檔就像編輯文字檔一樣方便。
5.嵌入方式不一樣
在HTML文檔中,兩種程式設計語言的標識不同,JavaScript使用來標識,而Java使用來標識。
6.靜態聯編和動態聯編
Java採用靜態聯編,即Java的對象引用必須在編譯時間的進行,以使編譯器能夠實現強型別檢查。JavaScript採用動態聯編,即JavaScript的對象引用在運行時進行檢查,如不經編譯則就無法實現對象引用的檢查。