js與java的區(qū)別
js與java的區(qū)別
對于計(jì)算機(jī)專業(yè)的人來說,js和java取得區(qū)別很容易看出來。下面是學(xué)習(xí)啦小編為大家準(zhǔn)備的js與java的區(qū)別,希望大家喜歡!
在各種網(wǎng)頁制作技術(shù)論壇中,常常有人詢問javascript與Java有什么區(qū)別,甚至有人誤認(rèn)為javascript就是Java。javascript與Java確實(shí)有一定的聯(lián)系,但它們并不像我們想象的那樣聯(lián)系緊密,甚至可以肯定地說它們有很大的區(qū)別。
什么是javascript ?
javascript 是對 ECMA 262 語言規(guī)范的一種實(shí)現(xiàn)。本教程的目的就是引導(dǎo)您學(xué)習(xí)使用 javascript ,所有例子都在 Internet Explorer 5 下通過,本人并沒有在 Netscape 的各版瀏覽器中測試,所以可能有的例子不能在Netscape的瀏覽器中順利運(yùn)行。
易學(xué)易用
javascript 是一種解釋型的、基于對象的腳本語言。盡管與諸如 C++ 和 Java 這樣成熟的面向?qū)ο蟮恼Z言相比, javascript 的功能要弱一些,但對于它的預(yù)期用途而言, javascript 的功能已經(jīng)足夠大了。
javascript 不是任何其他語言的精簡版(例如,它只是與 Java 有點(diǎn)模糊而間接的關(guān)系),也不是任何事物的簡化。不過,它有其局限性。例如,您不能使用該語言來編寫?yīng)毩⑦\(yùn)行的應(yīng)用程序,并且該語言讀寫文件的功能也很少。此外, javascript 腳本只能在某個(gè)解釋器上運(yùn)行,該解釋器可以是 Web 服務(wù)器 ,也可以是 Web 瀏覽器。
javascript 是一種寬松類型的語言。這意味著您不必顯式定義變量的數(shù)據(jù)類型。此外,在大多數(shù)情況下, javascript 將根據(jù)需要自動(dòng)進(jìn)行轉(zhuǎn)換。例如,如果試圖將一個(gè)數(shù)值添加到由文本組成的某項(xiàng)(一個(gè)字符串),該數(shù)值將被轉(zhuǎn)換為文本。
什么是JAVA?
Java是Sun公司推出的一種編程語言。它是一種通過解釋方式來執(zhí)行的語言,語法規(guī)則和C++類似。同時(shí),Java也是一種跨平臺的程序設(shè)計(jì)語言。用Java語言編寫的程序叫做“Applet”(小應(yīng)用程序),用編譯器將它編譯成類文件后,將它存在WWW頁面中,并在HTML檔上作好相應(yīng)標(biāo)記,用戶端只要裝上Java的客戶軟件就可以在網(wǎng)上直接運(yùn)行“Applet”。 Java非常適合于企業(yè)網(wǎng)絡(luò)和Internet環(huán)境,現(xiàn)在已成為Internet中最受歡迎、最有影響的編程語言之一。 Java有許多值得稱道的優(yōu)點(diǎn),如簡單、面向?qū)ο?、分布式、解釋性、可靠、安全、結(jié)構(gòu)
中立性、可移植性、高性能、多線程、動(dòng)態(tài)性等。Java擯棄了C++中各種弊大于利的功能和許多很少用到的功能。 Jave可以運(yùn)行與任何微處理器,用Java開發(fā)的程序可以在網(wǎng)絡(luò)上傳輸,并運(yùn)行于任何客戶機(jī)上。
javascript與Java的區(qū)別主要表現(xiàn)在以下方面:
一、javascript與Java是由不同的公司開發(fā)的不同產(chǎn)品。javascript是Netscape公司的產(chǎn)品,其目的是為了擴(kuò)展Netscape Navigator功能,而開發(fā)的一種可以嵌入Web頁面中的基于對象和事件驅(qū)動(dòng)的解釋性語言;而Java是SUN Microsystems公司推出的新一代面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,特別適合于Internet應(yīng)用程序開發(fā)。實(shí)際上,javascript最初的名字并不是javascript,而是LiveScript,名字中的“Java”是經(jīng)過SUN Microsystems公司授權(quán)的。
二、javascript是基于對象的,它是一種腳本語言,是一種基于對象和事件驅(qū)動(dòng)的編程語言,因而它本身提供了非常豐富的內(nèi)部對象供設(shè)計(jì)人員使用。而Java是面向?qū)ο蟮?,即Java是一種真正的面向?qū)ο蟮恼Z言,即使是開發(fā)簡單的程序也必須設(shè)計(jì)對象。
三、javascript與Java嵌入方式不一樣。在HTML文檔中,兩種編程語言的標(biāo)識不同,javascript使用……來標(biāo)識,而Java使用來標(biāo)識。
四、javascript與Java在瀏覽器中所執(zhí)行的方式不一樣。javascript是一種解釋性編程語言,其源代碼在發(fā)往客戶端執(zhí)行之前不需經(jīng)過編譯,而是將文本格式的字符代碼發(fā)送給客戶,即javascript語句本身隨Web頁面一起下載下來,由瀏覽器解釋執(zhí)行。而Java的源代碼在傳遞到客戶端執(zhí)行之前,必須經(jīng)過編譯,因而客戶端上必須具有相應(yīng)平臺上的仿真器或解釋器,它可以通過編譯器或解釋器實(shí)現(xiàn)獨(dú)立于某個(gè)特定的平臺編譯代碼。
五、javascript與Java代碼格式不一樣。javascript的代碼是一種謀咀址 格式,可以直接嵌入HTML文檔中,并且可動(dòng)態(tài)裝載,編寫HTML文檔就像編輯文本文件一樣方便,其獨(dú)立文件的格式為*.js。Java是一種與HTML無關(guān)的格式,必須通過像HTML中引用外媒體那么進(jìn)行裝載,其代碼以字節(jié)代碼的形式保存在獨(dú)立的文檔中,其獨(dú)立文件的格式為*.class。
六、javascript與Java所采取的變量是不一樣的。javascript中的變量聲明采用弱類型,即變量在使用前不需作聲明,而是解釋器在運(yùn)行時(shí)檢查其數(shù)據(jù)類型。Java采用強(qiáng)類型變量檢查,即所有變量在編譯之前必須作聲明。
七、javascript采用動(dòng)態(tài)聯(lián)編,即javascript的對象引用在運(yùn)行時(shí)進(jìn)行檢查。Java采用靜態(tài)聯(lián)編,即Java的對象引用必須在編譯時(shí)的進(jìn)行,以使編譯器能夠?qū)崿F(xiàn)強(qiáng)類型檢查。
八、javascript不直接對文本和圖形進(jìn)行操作,它在Web頁面中與HTML元素組合一起發(fā)揮作用,但它可以控制瀏覽器,讓瀏覽器直接對文本和圖形進(jìn)行處理。而Java則可以直接對文本和圖形進(jìn)行操作。
綜上所述,我們可以發(fā)現(xiàn),javascript與Java雖然都可以應(yīng)用于網(wǎng)頁設(shè)計(jì),但它們的確有太大的區(qū)別,根本就是兩種語言。