Javascript和Java語(yǔ)言有什么關(guān)系??jī)煞N語(yǔ)言間的異同比較
雖然Javascript與Java有緊密的聯(lián)系,但卻是兩個(gè)公司開(kāi)發(fā)的不同的兩個(gè)產(chǎn)品。Java是Sun公司推出的新一代面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。特別適合于Internet應(yīng)用程序開(kāi)發(fā);而Javascript是Sun與Netscape公司聯(lián)合推出的產(chǎn)品,是為了擴(kuò)展Netscape Navigator功能而開(kāi)發(fā)的一種可以嵌入Web頁(yè)面中的基于對(duì)象和事件驅(qū)動(dòng)的解釋性語(yǔ)言。且它的前身是Live Script,而Java的前身是Oak語(yǔ)言。下面就對(duì)兩種語(yǔ)言間的異同作如下比較:
(1)基于對(duì)象和面向?qū)ο?/strong>
Java是一種真正地面向?qū)ο蟮恼Z(yǔ)言,即使是開(kāi)發(fā)簡(jiǎn)單的程序,也必須設(shè)計(jì)對(duì)象。Javascript是一種腳本語(yǔ)言,它可以用來(lái)制作與網(wǎng)絡(luò)無(wú)關(guān)的,實(shí)現(xiàn)與用戶(hù)交互的復(fù)雜軟件。它是一種基于對(duì)象(Object Based)和事件驅(qū)動(dòng)(Event Driver)的編程語(yǔ)言。因而它本身提供了非常豐富的內(nèi)部對(duì)象供設(shè)計(jì)人員使用。
(2)解釋和編譯
兩種語(yǔ)言在其瀏覽器中所執(zhí)行的方式不一樣。Java的源代碼在傳遞到客戶(hù)端執(zhí)行之前,必須經(jīng)過(guò)編譯,因而在客戶(hù)端上必須有運(yùn)行于相應(yīng)平臺(tái)之上的**器或解釋器。它可以通過(guò)編譯器或解釋器實(shí)現(xiàn)獨(dú)立于某個(gè)特定平臺(tái)而不受編譯代碼的束縛。Javascript是一種解釋件編程語(yǔ)言,其源代碼在發(fā)往客戶(hù)端執(zhí)行之前不需經(jīng)過(guò)編譯,而是將文本格式的字符代碼發(fā)送到客戶(hù)端由瀏覽器解釋執(zhí)行。
(3)強(qiáng)變量和弱變量
兩種語(yǔ)言所采用的變量是不一樣的。Java采用強(qiáng)類(lèi)型變量,即所有變量在編譯之前必須作聲明。如
Integer x; String y; x=1234; x=4321;
其中x=1234說(shuō)明是一個(gè)整數(shù),Y=4321說(shuō)明是一個(gè)字符串。
JavaScript中,采用弱類(lèi)型,即變量在位用前不需作聲明,而由解釋器在運(yùn)行時(shí)檢查其數(shù)據(jù)類(lèi)型,如
x=1234; y="4321";
前者說(shuō)明x為其數(shù)值型變量,而后者說(shuō)明y為字符型變量。
(4)代碼格式不一樣
Java是一種與HIML無(wú)關(guān)的格式,必須通過(guò)像HTML中引用外媒體那樣進(jìn)行裝載,其代碼以字節(jié)代碼的形式保存在獨(dú)立的文檔中。JavaScript的代碼是一種文本字符格式,可以直接嵌入HTML文檔中,并且可動(dòng)態(tài)裝載。編寫(xiě)HTML文檔就像編輯文本文件一樣方便。
(5)嵌入方式不一樣
在HTML文檔中,兩種編程語(yǔ)言的標(biāo)識(shí)不同,JavaScript使用“<Script Language="JavaScript">”來(lái)標(biāo)識(shí),而Java使用“<applet>...</applet>”來(lái)標(biāo)識(shí)。
(6)靜態(tài)聯(lián)編和動(dòng)態(tài)聯(lián)編
Java采用靜態(tài)聯(lián)編,即Java的對(duì)象引用必須在編譯時(shí)進(jìn)行,以使編譯器能夠?qū)崿F(xiàn)強(qiáng)類(lèi)型檢查。JavaScript采用動(dòng)態(tài)聯(lián)編,即JavaScript的對(duì)象引用在運(yùn)行時(shí)進(jìn)行檢查,如不經(jīng)編譯則無(wú)法實(shí)現(xiàn)對(duì)象引用的檢查。
JavaScript是被嵌入在HTML幾中的,并成為了HTML文檔的一部分。
以上所述是小編給大家介紹的Javascript和Java語(yǔ)言有什么關(guān)系??jī)煞N語(yǔ)言間的異同比較,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
SpringBoot集成xxl-job實(shí)現(xiàn)超牛的定時(shí)任務(wù)的步驟詳解
XXL-JOB是一個(gè)分布式任務(wù)調(diào)度平臺(tái),其核心設(shè)計(jì)目標(biāo)是開(kāi)發(fā)迅速、學(xué)習(xí)簡(jiǎn)單、輕量級(jí)、易擴(kuò)展,現(xiàn)已開(kāi)放源代碼并接入多家公司線上產(chǎn)品線,開(kāi)箱即用,本文給大家介紹了SpringBoot集成xxl-job實(shí)現(xiàn)超牛的定時(shí)任務(wù),需要的朋友可以參考下2023-10-10
Installij IDEA install或clean項(xiàng)目的使用
這篇文章主要介紹了Installij IDEA install或clean項(xiàng)目的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08
深入淺析springboot中static和templates區(qū)別
這篇文章主要介紹了springboot中static和templates區(qū)別,本文通過(guò)圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
java實(shí)現(xiàn)將文件上傳到ftp服務(wù)器的方法
這篇文章主要介紹了java實(shí)現(xiàn)將文件上傳到ftp服務(wù)器的方法,結(jié)合實(shí)例形式分析了基于java實(shí)現(xiàn)的ftp文件傳輸類(lèi)定義與使用方法,需要的朋友可以參考下2016-08-08
探討Java中函數(shù)是值傳遞還是引用傳遞問(wèn)題
這篇文章主要介紹了探討Java中函數(shù)是值傳遞還是引用傳遞問(wèn)題,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02
Java Object類(lèi)詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
Java作為一個(gè)龐大的知識(shí)體系,涉及到的知識(shí)點(diǎn)繁多,本文將從Java中最基本的類(lèi)java.lang.Object開(kāi)始談起,對(duì)java object類(lèi)相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2017-04-04
Java實(shí)現(xiàn)將byte[]轉(zhuǎn)換為File對(duì)象
這篇文章將通過(guò)一個(gè)簡(jiǎn)單的例子為大家演示Java如何實(shí)現(xiàn) byte[] 轉(zhuǎn)換為 File 對(duì)象,并將其上傳到外部服務(wù)器,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-03-03

