天天看點

前端面試-難點問題2-java和javascript的差別

  經過多方面的參考,結合自己掌握的知識,總結了一下java和javascript的差別。歡迎大家評論!

  一、關系

    雖然java和javascript在名字和文法上有一點相似,并且有一些聯系,javascript文法源自java。但其實他們是兩個公司開發的不同的産品,兩種完全不同的程式設計語言。Java是SUN公司推出的新一代面向對象的程式設計語言,特别适合于Internet應用程式開發,前身是Oak語言;而JavaScript是Netscape公司的産品,其目的是為了擴充Netscape Navigator功能,而開發的一種可以嵌入Web頁面中的基于對象和事件驅動的解釋性語言, 前身是Live Script。

  二、程式運作過程

    java是編譯執行,源檔案必須經過編譯生成中間檔案,最終執行的是中間檔案,因而需要安裝jre或jdk(包括jre),并進行環境配置。而javascript是解釋執行,無需生成中間檔案,“讀一句,執行一句”,執行一般可以通過三種方式:

    1.一般浏覽器都自帶js解釋器,可以通過浏覽器直接使用;

    2.可以安裝專門的解釋器軟體node.js,執行.js檔案;

    3.随網頁一起執行,使用<script>标簽,可以将javascript語句放入标簽中,也可以通過标簽引入外部.js檔案。

 三、資料類型

    java是一種強類型語言,當涉及到資料時,聲明必須指定資料類型,比如:int a = 10;

    而javascript是一種弱類型語言,對資料聲明時,隻需用關鍵字 var 即可,如:var a = 10; 具體的資料類型根據變量存儲的内容進行識别。

 四、數組

    java中數組表示一組存儲相同資料類型值的變量的集合,數組由相同類型的元素組成,長度固定。

    而javascript數組是無類型的,數組元素可以是任意類型,并且同一個數組中的不同元素也可以有不同的類型,數組的元素甚至也可能是對象或其他數組,這允許建立複雜的資料結構,如對象的數組和數組的數組。javascript數組是動态的,根據需要它們會增長或縮減,并且在建立數組時無需聲明一個固定的大小或者在數組大小變化時無須重新配置設定空間。

 五、繼承的實作

    java是一種真正面向對象的語言,繼承是通過類的方式實作的;而javascript是基于對象的語言,繼承是通過原型對象的方式實作的。

 六、重載的實作

    重載:方法,根據傳入的參數清單的不同,執行不同的任務。

    java在文法上能夠實作重載;而javascript在文法上是不支援重載功能的,但可以通過arguments對象模拟實作。