JavaScript與Java的區別
更多Javascript教程,歡迎訪問起飛網>>Javascript教程
正文:關於java和javascript的關係,我曾在一個論壇上看過這樣一句話,java和javascript的關係,就好比雷鋒和雷峰塔的關係,實在是經典!因為名字的關係,總是有人誤以為Javascript是Java的一個子集,或者必然會存在一些關係。但非常讓大家失望,這兩種程式語言除了名字開頭相同之外,沒有其它內在的關係!什麼是Javascript?我在上一篇Javascript簡介中已經介紹了什麼是Javascript,它是執行在瀏覽器中的一種指令碼語言,在web頁面中,Javascript可謂是無所不能:可以操作HTML,提供了一種執行時改變HTML的工具可以附加並執行事件,符合面向事件程式設計的思想資料驗證功能,在提交表單時對錶單資料進行合法性驗證對客戶瀏覽器的操作,前進、後退、重新整理、跳轉、開啟新視窗、列印等可以建立並使用Cookies什麼是Java呢?Java是Sun公司推出的一種程式語言。它是一種通過解釋方式來執行的語言,語法規則和C++類似。同時,Java也是一種跨平臺的程式設計語言。用Java語言編寫的程式叫做“Applet”(小應用程式),用編譯器將它編譯成類檔案後,將它存在WWW頁面中,並在HTML檔上作好相應標記,使用者端只要裝上Java的客戶軟體就可以在網上直接執行“Applet”。Java非常適合於企業網路和Internet環境,現在已成為Internet中最受歡迎、最有影響的程式語言之一。 Java有許多值得稱道的優點,如簡單、面向物件、分散式、解釋性、可靠、安全、結構中立性、可移植性、高效能、多執行緒、動態性等。Java擯棄了C++中各種弊大於利的功能和許多很少用到的功能。 Jave可以執行與任何微處理器,用Java開發的程式可以在網路上傳輸,並運行於任何客戶機上。Javascript名字的由來JavaScript最早是被稱為Mocha(魔卡)的,這是這個專案的程式碼名。這個名字一直用到Netscape2.0 beta 2釋出之前(95.11.04)——包括在beta 1中彈出的錯誤框上,還可以看到Mocha的名字。不過,早在此前的9月18號,netscape就已經發布訊息將在LiveWire中啟用一種伺服器端指令碼(未提及名稱)。又因為我們前面提到的“前後端通用指令碼”的設計,該語言在beta 2釋出時就使用了內部名稱LiveScript。但同樣混亂的事情是,事實上這時Netscape已經決定將該語言命名為“JavaScript”。因此在beta 2的釋出備忘中該語言稱為JavaScript,而介面上卻從Mocha改為了LiveScript。這一局面一直持續到12月4日,netscape與sun共同釋出宣告,正式啟用了JavaScript這個名字。隨後beta 4釋出(95.12.20),介面和文件上就統一了。所以事實上“LiveScript”這個名字可以考證的生命週期,也就只有一個月的時間(在95.11.04- 12.04)。但Mocha畢竟只是專案程式碼名,而非產品名,所以後來人們追溯JavaScript的歷史,大多隻提到LiveScript為止。Javascript和Java的區別一、javascript與Java是由不同的公司開發的不同產品。javascript是Netscape公司的產品,其目的是為了擴充套件Netscape Navigator功能,而開發的一種可以嵌入Web頁面中的基於物件和事件驅動的解釋性語言;而Java是SUN Microsystems公司推出的新一代面向物件的程式設計語言,特別適合於Internet應用程式開發。實際上,javascript最初的名字並不是javascript,而是LiveScript,名字中的“Java”是經過SUN Microsystems公司授權的。二、javascript是基於物件的,它是一種指令碼語言,是一種基於物件和事件驅動的程式語言,因而它本身提供了非常豐富的內部物件供設計人員使用。而Java是面向物件的,即Java是一種真正的面向物件的語言,即使是開發簡單的程式也必須設計物件。 三、javascript與Java嵌入方式不一樣。在HTML文件中,兩種程式語言的標識不同,javascript使用來標識,而Java使用Applet來標識。 四、javascript與Java在瀏覽器中所執行的方式不一樣。javascript是一種解釋性程式語言,其原始碼在發往客戶端執行之前不需經過編譯,而是將文字格式的字元程式碼傳送給客戶,即javascript語句本身隨Web頁面一起下載下來,由瀏覽器解釋執行。而Java的原始碼在傳遞到客戶端執行之前,必須經過編譯,因而客戶端上必須具有相應平臺上的模擬器或直譯器,它可以通過編譯器或直譯器實現獨立於某個特定的平臺編譯程式碼。 五、javascript與Java程式碼格式不一樣。javascript的程式碼是一種謀咀址格式,可以直接嵌入HTML文件中,並且可動態裝載,編寫HTML文件就像編輯文字檔案一樣方便,其獨立檔案的格式為*.js。Java是一種與HTML無關的格式,必須通過像HTML中引用外媒體那麼進行裝載,其程式碼以位元組程式碼的形式儲存在獨立的文件中,其獨立檔案的格式為*.class。 六、javascript與Java所採取的變數是不一樣的。javascript中的變數宣告採用弱型別,即變數在使用前不需作宣告,而是直譯器在執行時檢查其資料型別。Java採用強型別變數檢查,即所有變數在編譯之前必須作宣告。 七、javascript採用動態聯編,即javascript的物件引用在執行時進行檢查。Java採用靜態聯編,即Java的物件引用必須在編譯時的進行,以使編譯器能夠實現強型別檢查。 八、javascript不直接對文字和圖形進行操作,它在Web頁面中與HTML元素組合一起發揮作用,但它可以控制瀏覽器,讓瀏覽器直接對文字和圖形進行處理。而Java則可以直接對文字和圖形進行操作。