我還記得第一次接觸Java的時候,有一天突然看到JavaScript,我的第一反應是:這是什么?跟Java這么相似,是不是有什么隱藏的關系?那么Java和JavaScript有什么區別呢?
從他們出生開始:
1994 年,Netscape 發布了第 9 版 Navigator 瀏覽器0.9。這是史上第一款比較成熟的網頁瀏覽器,轟動一時。但是,這個版本的瀏覽器只能用于瀏覽,不具備與訪問者交互的能力。因此,Netscape 迫切需要一種允許瀏覽器與網頁交互的網絡腳本語言。 1995年,Sun將Oak語言改為Java,正式推向市場,打出“Write once, run anywhere”的口號。 Netscape 非常看好 Java,決定與 Sun 結成聯盟。僅僅一個月后,Netscape 決定未來的 Web 腳本語言必須看起來與 Java 足夠相似,但比 Java 更簡單。程序員 Brendan Eich 被任命為這種“簡化 Java 語言”的設計者。
但是 Brendan Eich 對 Java 完全沒有興趣,他在 10 天內設計了 JavaScript。總體設計思路是:(1)借鑒了C語言的基本語法;(2)借鑒了Java語言的數據類型和內存管理;(3)借鑒了Scheme語言,以及將函數升級為“頭等艙”(first class)的狀態;(4)借用了Self語言,使用了基于原型的繼承機制。也就是說,Java Script在設計時引用的對象做不包括Java,但包括Self和Scheme這樣的語言,其實是函數式編程和面向對象編程風格的混合體。而javascript的原名不是javascript,而是LiveScript,名字中的“Java”是獲得 SUN Microsystems 許可后。
簡單地說,java 和 JavaScript 是兩種不同的語言。
1 語言特點:
1.1 弱類型:
JavaScript在聲明變量時并沒有嚴格區分數據類型,(var變量名),不如java嚴格(類型:變量名)。換句話說,在Javascript面前一切都是平等的。在他眼里,每個人都是人,但在java中就不一樣了,男人、女人等等……
基于這個特性,javascript在很多情況下可以比java寫得更簡潔,比如函數聲明。
1.2 動態語言:
Java 無法在定義數組后更改其長度,但 JavaScript 可以。而且java的數組只能放相同類型的數據,而javascript可以在數組中加入不同數據類型的數據。可以說Java更無情,而javascript更靈活。
1.3 腳本語言:
Java等后臺語言是編譯執行的,但是JavaScript是邊編譯邊執行的。
2 數據類型
2.1 底層數據類型:
Java 有八種數據類型:byte、short、intlong、float、double、char、Boolean。感覺javascript把上面組織成三種原始類型:數字、字符串和布爾值。還有兩種特殊的原始類型:null 和 undefined。
2.2 變量
Java:數據類型 變量名=值;
Javascript:var 變量名=值;數組
Java:
類型[] 數組名=new 類型[數量];
類型[] 數組名=new 類型[]{元素1,元素2…};
Javascript:
var 數組名=[];
var 數組名=new Array();
3 函數:
Java:返回值類型 函數名(類型 參數1,類型 參數2…){}
Javascript:function 函數名(參數1,參數2…){}
兩者用途
java 廣泛應用于個人 PC、數據中心、游戲機、科學超級計算機、手機和互聯網。
Javascript的目的是:1.在HTML頁面中嵌入動態文本;2.響應瀏覽器事件; 3.讀取和寫入HTML元素;4.在數據中驗證數據,然后再提交給服務器; 5.檢測訪問者的瀏覽器信息; 6.控制 cookie,包括創建和修改。
以上就是Java和JavaScript有什么區別的介紹,如果你在學習java的過程中存在疑問,可以關注千鋒教育技術干貨欄目,也可以咨詢我們的客服老師。更多關于“Java培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓經驗,課程大綱更科學更專業,有針對零基礎的就業班,有針對想提升技術的好程序員班,高品質課程助力你實現java程序員夢想。