簡述Java和JavaScript之間的關(guān)系。
首先,JavaScript 與 Java 是兩個公司開發(fā)的不同的兩個產(chǎn)品。 Java 是美國SunMicr—osystems 公司推出的新一代面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,特別適合于 Internet 的分布式應(yīng)用程序開發(fā);而 JavaScript 是 Netscape 公司的產(chǎn)品,其目的是為了擴(kuò)展 Netscape Navigator 瀏覽器的功能而開發(fā)的一種可以嵌入 Web頁面中的基于對象和事件驅(qū)動的解釋性語言,它的前身是 Live Script ;而 Java的前身是 0ak 語言。下面對兩種語言間的其他不同作如下:
(1) 基于對象和面向?qū)ο蟆?Java 是一種真正的面向?qū)ο蟮恼Z言,即使是開發(fā)簡單的程序,必須設(shè)計(jì)對象。 JavaScript 是一種腳本語言。它可以用來制作與網(wǎng)絡(luò)無關(guān)的,與用戶交互作用的復(fù)雜軟件。它是一種基于對象 <Object Based>和事件驅(qū)動 <Event Driv —er>的編程語言。因而它本身提供了非常豐富的內(nèi)部對象供設(shè)計(jì)人員使用。
(2) 解釋和編譯。兩種語言在其瀏覽器中所執(zhí)行的方式不一樣。 Java 的源代碼在傳遞到客戶端執(zhí)行之前, 必須經(jīng)過編譯, 因而客戶端上必須具有相應(yīng)平臺上的仿真器或解釋器, 它可以通過編譯器或解釋器實(shí)現(xiàn)獨(dú)立于某個特定的平臺編譯代碼的束縛。 JavaS-cript 是一種解釋性編程語言,其源代碼在發(fā)往客戶端執(zhí)行之前不需經(jīng)過編譯,而是將文本格式的字符代碼發(fā)送給客戶端由瀏覽器解釋執(zhí)行。
(3) 強(qiáng)變量和弱變量。兩種語言所采取的變量是不一樣的。 Java 采用強(qiáng)定義類型變量檢查,即所有變量在使用之前必須做聲明,定義其類型。而 JavaScript 中變量聲明,采用其弱定義類型,即變量在使用前不需做聲明,而是解釋器在運(yùn)行時檢查其數(shù)據(jù)類型。
(4) 代碼格式不一樣。 Java 是一種與 HTML無關(guān)的格式,必須通過像 HTML中引用多媒體那樣進(jìn)行裝載,其代碼以字節(jié)代碼的形式保存在獨(dú)立的文檔中。 JavaScript 的代碼是一種文本字符格式,可以直接嵌入 HTML文檔中,并且可動態(tài)裝載。編寫 HTML文檔就像編輯文本文件一樣方便。
(5) 嵌入方式不一樣。在 HTML文檔中,兩種編程語言的標(biāo)識不同, JavaScript 使用<Script> ?</Soript> 來標(biāo)識,而 Java 使用<applet> .一. </applet>來標(biāo)識。
(6) 靜態(tài)聯(lián)編和動態(tài)聯(lián)編。 Java 采用靜態(tài)聯(lián)編,即 Java 的對象引用必須在編譯時進(jìn)行,以使編譯器能夠?qū)崿F(xiàn)強(qiáng)類型檢查; JavaScript 采用動態(tài)聯(lián)編,即 JavaScript 的對象引用在運(yùn)行時進(jìn)行檢查,如不經(jīng)運(yùn)行就無法實(shí)現(xiàn)對象引用的檢查。
暫無解析