JavaScript和java一樣嗎?有什么區(qū)別?
JavaScript和java顯然是不一樣的,雖然JavaScript與Java有緊密的聯(lián)系,但卻是兩個公司開發(fā)的不同的兩個產(chǎn)品。Java是SUN公司推出的新一代面向?qū)ο蟮某绦蛟O計語言,特別適合于Internet應用程序開發(fā);而JavaScript是Netscape公司的產(chǎn)品,其目的是為了擴展Netscape Navigator功能,而開發(fā)的一種可以嵌入Web頁面中的基于對象和事件驅(qū)動的解釋性語言, 它的前身是Live Script;而Java的前身是Oak語言。下面對兩種語言間的異同作如下比較:
基于對象和面向?qū)ο?/strong>
Java是一種真正的面向?qū)ο蟮恼Z言,即使是開發(fā)簡單的程序,必須設計對象。
JavaScript是種腳本語言,它可以用來制作與網(wǎng)絡無關的,與用戶交互作用的復雜軟件。它是一種基于對象(Object Based)和事件驅(qū)動(Event Driver)的編程語言。因而它本身提供了非常豐富的內(nèi)部對象供設計人員使用。
解釋和編譯
兩種語言在其瀏覽器中所執(zhí)行的方式不一樣。Java的源代碼在傳遞到客戶端執(zhí)行之前,必須經(jīng)過編譯,因而客戶端上必須具有相應平臺上的仿真器或解釋器,它可以通過編譯器或解釋器實現(xiàn)獨立于某個特定的平臺編譯代碼的束縛。
JavaScript是一種解釋性編程語言,其源代碼在發(fā)往客戶端執(zhí)行之前不需經(jīng)過編譯,而是將文本格式的字符代碼發(fā)送給客戶編由瀏覽器解釋執(zhí)行。
強變量和弱變量
兩種語言所采取的變量是不一樣的。
Java采用強類型變量檢查,即所有變量在編譯之前必須作聲明。如:
Integer x; String y; x=1234; x=4321;
其中X=1234說明是一個整數(shù),Y=4321說明是一個字符串。
JavaScript中變量聲明,采用其弱類型。即變量在使用前不需作聲明,而是解釋器在運行時檢查其數(shù)據(jù)類型,如:
x=1234; y="4321";
前者說明x為其數(shù)值型變量,而后者說明y為字符型變量。
代碼格式不一樣
Java是一種與HTML無關的格式,必須通過像HTML中引用外媒體那么進行裝載,其代碼以字節(jié)代碼的形式保存在獨立的文檔中。
JavaScript的代碼是一種文本字符格式,可以直接嵌入HTML文檔中,并且可動態(tài)裝載。編寫HTML文檔就像編輯文本文件一樣方便。
嵌入方式不一樣
在HTML文檔中,兩種編程語言的標識不同,JavaScript使用<Script>…</Script>來標識,而Java使用<applet>…</applet>來標識。
靜態(tài)聯(lián)編和動態(tài)聯(lián)編
Java采用靜態(tài)聯(lián)編,即Java的對象引用必須在編譯時的進行,以使編譯器能夠?qū)崿F(xiàn)強類型檢查。
JavaScript采用動態(tài)聯(lián)編,即JavaScript的對象引用在運行時進行檢查,如不經(jīng)編譯則就無法實現(xiàn)對象引用的檢查。