在各種網頁制作技術論壇中,常常有人詢問javascript與Java有什麼區別,甚至有人誤認為javascript就是Java。javascript與Java確實有一定的聯系,但它們並不像我們想象的那樣聯系緊密,甚至可以肯定地說它們有很大的區別。
什麼是javascript ?
javascript 是對 ECMA 262 語言規范的一種實現。本教程的目的就是引導您學習使用 javascript ,所有例子都在 Internet Explorer 5 下通過,本人並沒有在 Netscape 的各版浏覽器中測試,所以可能有的例子不能在Netscape的浏覽器中順利運行。
易學易用
javascript 是一種解釋型的、基於對象的腳本語言。盡管與諸如 C++ 和 Java 這樣成熟的面向對象的語言相比, javascript 的功能要弱一些,但對於它的預期用途而言, javascript 的功能已經足夠大了。
javascript 不是任何其他語言的精簡版(例如,它只是與 Java 有點模糊而間接的關系),也不是任何事物的簡化。不過,它有其局限性。例如,您不能使用該語言來編寫獨立運行的應用程序,並且該語言讀寫文件的功能也很少。此外, javascript 腳本只能在某個解釋器上運行,該解釋器可以是 Web 服務器 ,也可以是 Web 浏覽器。
javascript 是一種寬松類型的語言。這意味著您不必顯式定義變量的數據類型。此外,在大多數情況下, javascript 將根據需要自動進行轉換。例如,如果試圖將一個數值添加到由文本組成的某項(一個字符串),該數值將被轉換為文本。
什麼是JAVA?
Java是Sun公司推出的一種編程語言。它是一種通過解釋方式來執行的語言,語法規則和C++類似。同時,Java也是一種跨平台的程序設計語言。用Java語言編寫的程序叫做“Applet”(小應用程序),用編譯器將它編譯成類文件後,將它存在WWW頁面中,並在HTML檔上作好相應標記,用戶端只要裝上Java的客戶軟件就可以在網上直接運行“Applet”。 Java非常適合於企業網絡和Internet環境,現在已成為Internet中最受歡迎、最有影響的編程語言之一。 Java有許多值得稱道的優點,如簡單、面向對象、分布式、解釋性、可靠、安全、結構
中立性、可移植性、高性能、多線程、動態性等。Java擯棄了C++中各種弊大於利的功能和許多很少用到的功能。 Jave可以運行與任何微處理器,用Java開發的程序可以在網絡上傳輸,並運行於任何客戶機上。
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使用來標識。
四、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則可以直接對文本和圖形進行操作。
綜上所述,我們可以發現,javascript與Java雖然都可以應用於網頁設計,但它們的確有太大的區別,根本就是兩種語言。