java和JavaScript究竟什麼關係,有什麼樣的區別

原文傳送門:https://yq.aliyun.com/articles/134707?utm_content=m_26467

摘要: 猶記得剛剛接觸Java的時候,有一天突然看見了JavaScript,第一反應就是:這是什麼?跟Java這麼像,莫非它倆之間有什麼不可告人的關係?

猶記得剛剛接觸Java的時候,有一天突然看見了JavaScript,第一反應就是:這是什麼?跟Java這麼像,莫非它倆之間有什麼不可告人的關係?

0


       這就得從他們誕生時開始說起:

      1994年的時候,網景公司(Netscape)發佈了Navigator瀏覽器0.9版。這是歷史上第一個比較成熟的網絡瀏覽器,轟動一時。但是,這個版本的瀏覽器只能用來瀏覽,不具備與訪問者互動的能力。因此,網景公司急需一種網頁腳本語言,使得瀏覽器可以與網頁互動。1995年Sun公司將Oak語言改名爲Java,正式向市場推出,並且打出了「一次編寫,到處運行(Write once,run anywhere)」的宣傳口號。網景公司非常看好Java,決定與Sun公司結成聯盟。僅一個月後,網景公司做出決定,未來的網頁腳本語言,必須看上去與Java足夠相似,但是比Java簡單。程序員Brendan Eich被指定爲這種「簡化版Java語言」的設計師。如果你想學習Java可以來這個羣,首先是二二零,中間是一四二,最後是九零六,裏面可以學習和交流,也有學習資料可以下載。



  但是Brendan Eich對Java絲毫沒有興趣,用了10天時間就設計出了JavaScript。總體的設計思路是:(1)借鑑C語言的基本語法;(2)借鑑Java語言的數據類型和內存管理;(3)借鑑Scheme語言,將函數提升到「第一等公民」(first class)的地位;(4)借鑑Self語言,使用基於原型(prototype)的繼承機制。也就是說,Java Script在設計時所參考的對象不包括 Java,而包括了像 Self 和 Scheme 這樣的語言,它實際上是函數式編程和麪向對象編程兩種語言風格的混合產物。並且javascript最初的名字並不是javascript,而是LiveScript,名字中的「Java」是經過SUN Microsystems公司授權的。


       簡單說java和JavaScript是兩個不同的語言。


1 語言特點:

1.1 弱類型:

       JavaScript在變量聲明的時候並不嚴格區分數據類型,(var 變量名),不像java那樣嚴格(類型:變量名)。也就說,Javascript面前一切平等,在他眼裏大家都是人,而在java就有所不同,男人、女人、什麼的……

基於這個特性,javascript在很多時候會都可以寫的比java簡潔,比如函數的聲明等。如果你想學習js可以來這個羣291851189,可以交流學習

1.2 動態語言:

         java在定義了一個數組的長度以後就不能再改變了,但是javascript卻可以。並且java一個數組只能放同一種類型,但javascript可以在一個數組內加不同數據類型的數據。可以說Java比較死心眼,javascript則比較靈活。

1.3 腳本語言:

       Java等後臺語言都是編譯後執行的,但是javascript卻是邊編譯邊執行。


2 數據類型

2.1 基礎數據類型:

       Java有八大數據類型:byte,short,intlong,float,double,char,Boolean。感覺javascript把上面的整理成了三種原始類型:number,string,boolean。另外還有兩個特殊的原始類型是: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.控制cookies,包括創建和修改等。