奈學:Java 和 JavaScript 是什麼關係?
一、什麼是Javascript?
它是執行在瀏覽器中的一種指令碼語言,在web頁面中,Javascript可謂是無所不能:
1. 可以操作HTML,提供了一種執行時改變HTML的工具;
2. 可以附加並執行事件,符合面向事件程式設計的思想;
3. 資料驗證功能,在提交表單時對錶單資料進行合法性驗證;
4. 對客戶瀏覽器的操作,前進、後退、重新整理、跳轉、開啟新視窗、列印等;
5. 可以建立並使用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為止。
四、Java與Javascript的區別
1、javascript與Java是由不同的公司開發的不同產品。javascript是Netscape公司的產品,其目的是為了擴充套件Netscape Navigator功能,而開發的一種可以嵌入Web頁面中的基於物件和事件驅動的解釋性語言;而Java是SUN Microsystems公司推出的新一代物件導向的程式設計語言,特別適合於Internet應用程式開發。實際上,javascript最初的名字並不是javascript,而是LiveScript,名字中的“Java”是經過SUN Microsystems公司授權的。
2、javascript是基於物件的,它是一種指令碼語言,是一種基於物件和事件驅動的程式語言,因而它本身提供了非常豐富的內部物件供設計人員使用。而Java是物件導向的,即Java是一種真正的物件導向的語言,即使是開發簡單的程式也必須設計物件。
3、javascript與Java嵌入方式不一樣。在HTML文件中,兩種程式語言的標識不同,javascript使用來標識,而Java使用Applet來標識。
4、javascript與Java在瀏覽器中所執行的方式不一樣。javascript是一種解釋性程式語言,其原始碼在發往客戶端執行之前不需經過編譯,而是將文字格式的字元程式碼傳送給客戶,即javascript語句本身隨Web頁面一起下載下來,由瀏覽器解釋執行。而Java的原始碼在傳遞到客戶端執行之前,必須經過編譯,因而客戶端上必須具有相應平臺上的模擬器或直譯器,它可以透過編譯器或直譯器實現獨立於某個特定的平臺編譯程式碼。
5、javascript與Java程式碼格式不一樣。javascript的程式碼是一種謀咀址格式,可以直接嵌入HTML文件中,並且可動態裝載,編寫HTML文件就像編輯文字檔案一樣方便,其獨立檔案的格式為X.js。java是一種與HTML無關的格式,必須透過像HTML中引用外媒體那麼進行裝載,其程式碼以位元組程式碼的形式儲存在獨立的文件中,其獨立檔案的格式為X.class。
6、javascript與Java所採取的變數是不一樣的。javascript中的變數宣告採用弱型別,即變數在使用前不需作宣告,而是直譯器在執行時檢查其資料型別。Java採用強型別變數檢查,即所有變數在編譯之前必須作宣告。
7、javascript採用動態聯編,即javascript的物件引用在執行時進行檢查。Java採用靜態聯編,即Java的物件引用必須在編譯時的進行,以使編譯器能夠實現強型別檢查。
8、javascript不直接對文字和圖形進行操作,它在Web頁面中與HTML元素組合一起發揮作用,但它可以控制瀏覽器,讓瀏覽器直接對文字和圖形進行處理。而Java則可以直接對文字和圖形進行操作。
本文來源於:奈學開發者社群,如有侵權請聯絡我刪除~
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69976011/viewspace-2724974/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- GNU是什麼?和Linux是什麼關係?Linux
- GitClub和GitHub是什麼關係Github
- Chronicles 和 IRIS 是什麼關係
- IRIS 和 Caché 是什麼關係
- 什麼是Cython?和Python有什麼關係?Python
- 什麼是Yottachain和YTA幣,它們是什麼關係?AI
- linux和ubuntu區別是什麼?有什麼關係?LinuxUbuntu
- Linux中apt是什麼?和Dpkg有什麼關係?LinuxAPT
- 元宇宙是什麼,和遊戲有什麼關係元宇宙遊戲
- 人工智慧和Python是什麼關係?人工智慧Python
- pycharm和python區別(關係)是什麼PyCharmPython
- HyperLedger Fabric和區塊鏈是什麼關係?區塊鏈
- Kubernetes和Docker之間的關係是什麼?Docker
- 雲端計算和Linux是什麼關係?Linux
- 面試官:什麼是 YAML?和 Spring Boot 有什麼關係?面試YAMLSpring Boot
- 人工智慧和區塊鏈是什麼關係?人工智慧區塊鏈
- 虛擬機器、容器和沙箱是什麼關係?虛擬機
- 平行鏈和主鏈開發是什麼關係?
- Web前端是幹什麼的?和後端是啥關係?Web前端後端
- 什麼是反對稱關係?
- 什麼是客戶關係管理
- JDK、JRE、JVM,是什麼關係?JDKJVM
- 大資料和人工智慧的關係是什麼?大資料人工智慧
- Homework from Zhejiang 和結式到底是什麼關係
- IP、域名和DNS的關係與區別是什麼?DNS
- k8s 和 Docker 到底是什麼關係?K8SDocker
- TPS和響應時間之間是什麼關係
- 人工智慧和Python是什麼關係?詳細分析!人工智慧Python
- SDK、API 和 app 之間的關係和聯絡是什麼?APIAPP
- 在Linux中,Unix和Linux之間的關係是什麼?Linux
- Spring Boot與Spring Cloud是什麼關係?Spring BootCloud
- Spring boot與Spring cloud 是什麼關係?Spring BootCloud
- 什麼是IPFS?IPFS與區塊鏈有什麼關係區塊鏈
- 優思學院|品質管理是做什麼工作的?和六西格瑪管理有什麼關係?
- 什麼是社會化客戶關係管理
- 頻寬是什麼意思 頻寬和寬頻網速有什麼區別關係
- SEO和品牌建設有什麼關係?
- 雲流化和雲桌面有什麼關係