今天來簡單而又詳細地說說JavaScript和Java的關系.
開門見山總結性一句話,它們之間的關系 = 雷鋒和雷峰塔之間的關系,換句話說:它們之間沒什么關系。
但往往有不少初學者甚至中級者認為它們之間有密切的關系,這很讓人無語。
個人認為如果不分辨清楚,Java學得越好的初學者,對於JavaScript就會學得越糟。因為在一張白紙上好畫圖,在一張花紙上就很難再畫圖了。
比較 | JavaScript | Java |
誕生時間 | 1995年 | 1995年 |
曾用名 | Mocha, LiveScript | Oak |
母公司 | 網景公司(美國) | 太陽微系統公司(美國) |
主要作者 | Brendan Eich 一個人 | James Gosling及其小伙伴 |
開發完成時間 | 前前后后共10天 | 前前后后一、二年 |
是否面向對象? | 是,基於原型和原型鏈方式 | 是,基於類和繼承的方式 |
可以采用的編程風格 | 面向過程、面向對象、面向函數 | 面向過程、面向對象,Java8之后加入了部分面向函數的特點 |
語言類型 | 動態語言、弱類型 | 靜態語言、強類型 |
可否用於客服端開發? | 可以,主要用於瀏覽器端 | 可以,但在桌面端應用的爭奪中徹底輸給了微軟的VS.Net系列 |
可否用於手機端開發? | 可以,叫Web App | 可以,叫Android(安卓) |
類庫和框架數量如何?社區表現如何? | 非常多,非常豐富,非常活躍 | 比較多,比較豐富,比較活躍 |
現在的主人 | 全天JavaScript開源社區 | Oracle公司(美國) |
對初學者學習的難度? | 上手快,學會很容易,學精通很不容易 | 上手慢,學會可能慢一點,學精通也很不容易 |
體系結構 | 本質上精簡、但現在衍生出的類庫、框架越來越多,讓人目不暇接 | 一直都比較龐大、龐雜。 |
是否跨平台? | 是(全世界幾乎所有的瀏覽器都支持,如果不支持,就幾乎沒人用) | 是(只要安裝了Java虛擬機的電腦都可以運行) |
編譯型還是解釋型? | 解釋型,但某些常用代碼可以被編譯成本地代碼 | 先編譯成字節碼,再通過虛擬機解釋執行 |
哪個更強大? | 無法籠統回答,JavaScript高手比Java低手強大 | 無法籠統回答,Java高手比JavaScript低手強大 |
哪個和H5的結合更緊密? | JavaScript | |
中國的大部分學校里主要教哪個? | Java |