javascript和java有什么區(qū)別
在各種網(wǎng)頁(yè)制作技術(shù)論壇中,常常有人詢(xún)問(wèn)javascript與Java有什么區(qū)別,甚至有人誤認(rèn)為javascript就是Java。javascript與Java確實(shí)有一定的聯(lián)系,但它們并不像我們想象的那樣聯(lián)系緊密,甚至可以肯定地說(shuō)它們有很大的區(qū)別。
JavaScript 是對(duì) ECMA 262 語(yǔ)言規(guī)范的一種實(shí)現(xiàn)。本教程的目的就是引導(dǎo)您學(xué)習(xí)使用 JavaScript ,所有例子都在 Internet Explorer 5 下通過(guò),本人并沒(méi)有在 Netscape 的各版瀏覽器中測(cè)試,所以可能有的例子不能在Netscape的瀏覽器中順利運(yùn)行。
它是一種通過(guò)解釋方式來(lái)執(zhí)行的語(yǔ)言,語(yǔ)法規(guī)則和C++類(lèi)似。同時(shí),Java也是一種跨平臺(tái)的程序設(shè)計(jì)語(yǔ)言。Java非常適合于企業(yè)網(wǎng)絡(luò)和Internet環(huán)境,現(xiàn)在已成為Internet中最受歡迎、最有影響的編程語(yǔ)言之一。
2、javascript是基于對(duì)象的,它是一種腳本語(yǔ)言,是一種基于對(duì)象和事件驅(qū)動(dòng)的編程語(yǔ)言,因而它本身提供了非常豐富的內(nèi)部對(duì)象供設(shè)計(jì)人員使用。而Java是面向?qū)ο蟮?,即Java是一種真正的面向?qū)ο蟮恼Z(yǔ)言,即使是開(kāi)發(fā)簡(jiǎn)單的程序也必須設(shè)計(jì)對(duì)象。
3、javascript與Java嵌入方式不一樣。
在HTML文檔中,兩種編程語(yǔ)言的標(biāo)識(shí)不同,javascript使用……來(lái)標(biāo)識(shí),而Java使用來(lái)標(biāo)識(shí)。
4、javascript與Java在瀏覽器中所執(zhí)行的方式不一樣。
javascript是一種解釋性編程語(yǔ)言,其源代碼在發(fā)往客戶(hù)端執(zhí)行之前不需經(jīng)過(guò)編譯,而是將文本格式的字符代碼發(fā)送給客戶(hù),即javascript語(yǔ)句本身隨Web頁(yè)面一起下載下來(lái),由瀏覽器解釋執(zhí)行。
而Java的源代碼在傳遞到客戶(hù)端執(zhí)行之前,必須經(jīng)過(guò)編譯,因而客戶(hù)端上必須具有相應(yīng)平臺(tái)上的仿真器或解釋器,它可以通過(guò)編譯器或解釋器實(shí)現(xiàn)獨(dú)立于某個(gè)特定的平臺(tái)編譯代碼。
5、javascript與Java代碼格式不一樣。
javascript的代碼是一種謀咀址 格式,可以直接嵌入HTML文檔中,并且可動(dòng)態(tài)裝載,編寫(xiě)HTML文檔就像編輯文本文件一樣方便,其獨(dú)立文件的格式為*.js。
Java是一種與HTML無(wú)關(guān)的格式,必須通過(guò)像HTML中引用外媒體那么進(jìn)行裝載,其代碼以字節(jié)代碼的形式保存在獨(dú)立的文檔中,其獨(dú)立文件的格式為*.class。
6、javascript與Java所采取的變量是不一樣的。
javascript中的變量聲明采用弱類(lèi)型,即變量在使用前不需作聲明,而是解釋器在運(yùn)行時(shí)檢查其數(shù)據(jù)類(lèi)型。Java采用強(qiáng)類(lèi)型變量檢查,即所有變量在編譯之前必須作聲明。
7、javascript采用動(dòng)態(tài)聯(lián)編,即javascript的對(duì)象引用在運(yùn)行時(shí)進(jìn)行檢查。Java采用靜態(tài)聯(lián)編,即Java的對(duì)象引用必須在編譯時(shí)的進(jìn)行,以使編譯器能夠?qū)崿F(xiàn)強(qiáng)類(lèi)型檢查。
8、javascript不直接對(duì)文本和圖形進(jìn)行操作,它在Web頁(yè)面中與HTML元素組合一起發(fā)揮作用,但它可以控制瀏覽器,讓瀏覽器直接對(duì)文本和圖形進(jìn)行處理。而Java則可以直接對(duì)文本和圖形進(jìn)行操作。
綜上所述,我們可以發(fā)現(xiàn),javascript與Java雖然都可以應(yīng)用于網(wǎng)頁(yè)設(shè)計(jì),但它們的確有太大的區(qū)別,根本就是兩種語(yǔ)言。