Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
記得剛開始學習編程時,我就在想:“Java和JavaScript是同一種語言嗎?”。就是因為看到它們名稱中都帶“java”,所以才會誤以為它們有關系。實際上,它們并沒有太大的聯系。
這兩者的關系,就和英語與斯瓦希里語「非洲語言使用人口最多的語言之一,簡稱斯語」類似。兩者都是語言,但是語法、用詞甚至語音都完全不同。與英語和斯語相比,Java和JavaScript的區別其實更大。英語和斯語是大部分人日常互相交流溝通的語言。但是,java和JavaScript是計算機語言,具有不同的交流方式。
>>不同之處
1、命名
JavaScript是由Netscape公司設計實現而成的。JavaScript最初被稱為Mocha,然后更名為LiveScript。Netscape公司與Sun公司合作,Netscape高層希望它看上去能夠像Java,因此才取名為JavaScript。其實JavaScript走的一直是依靠大IP普及的營銷策略,正如一開始我們所疑惑的地方一樣,JavaScript就是依靠類似java的名稱才被大眾所熟知。就是靠著這一點,現在JavaScript已經是世界上第三流行的語言,并且人氣還在不斷上升。
Java是由Oracle公司(以前由Sun Microsystems)提供支持。而Java最初被稱為Oak,然后更名為Green,后來才改成當前的名稱Java。而java雖說是使用最廣泛的語言之一,但近年來人氣卻在緩慢下降。
2、應用范圍
Java具有極廣的通用性,幾乎在任何地方都可以使用;而JavaScript主要用于帶有一些牽引服務器端「Node」,移動端「React Native」和桌面端「Electron」的前端Web開發。
3、語言特性
JavaScript是一種腳本語言,很多知名的瀏覽器都對Js有非常良好的本地支持,所以它成為了最受歡迎的前端語言之一;而Java是一種面向對象的高級編程語言,不適合做前端開發。
4、基于對象和面向對象
Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序。它是一種真正的面向對象(Object Oriented)的語言,即便是開發簡單的程序,也必須設計對象。
JavaScript是一種網絡腳本語言,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果。它可以使網頁具有交互性;并提供及時反饋節省用戶時間;還可以根據用戶的操作,動態的創建頁面。它是一種基于對象(Object Based)和事件驅動(Event Driver)的編程語言。
5、解釋和編譯
Java是一種編譯語言,即Java代碼被轉換為在語言虛擬機中執行字節碼。Java的源代碼在執行之前,必須經過編譯。
JavaScript是一種解釋性編程語言,其源代碼不需經過編譯,由瀏覽器解釋執行。(目前的瀏覽器幾乎都使用了JIT(即時編譯)技術來提升JavaScript的運行效率)
6、檢測代碼
Java是強類型的靜態語言,每個變量必須預先指定其類型。JavaScript是弱類型的動態語言,其變量可以根據賦值而改變類型,如:var s=10;那么s為int型。JavaScript使用動態類型檢查,即它是在執行JavaScript代碼時檢查變量的類型。這樣做有一個好處就是可以使程序員更容易編碼。而Java使用靜態類型檢查,即它是在編譯時驗證變量的類型。也就是說,它要檢測的錯誤代碼更少!
7、代碼格式
JavaScript與Java代碼格式不一樣。JavaScript的代碼是一種文本字符格式,可以直接嵌入HTML文檔中,并且可動態裝載。Java是一種與HTML無關的格式,必須通過像HTML中引用外媒體那樣進行裝載,其代碼以字節代碼的形式保存在獨立的文檔中,其獨立文件的格式為*.class。
8、線程
JavaScript不支持多線程,因為瀏覽器中的JavaScript解釋器是單線程的。而Java則支持多線程。
9、圖文操作
Java可以直接對文本和圖形進行操作。而JavaScript是通過在Web頁面中與HTML元素組合來發揮作用的,但JaveScrit可以控制瀏覽器,讓瀏覽器直接對文本和圖形進行處理。
10.工作機會
Java比JavaScript有更多的工作機會。根據數據,在中國Java開發發布了21094個職位,而JavaScript開發只發布了8486個職位。相比較而言,Java更適合你尋找工作。
了解java和JavaScript的不同之處,其實并沒有其他的意義,重要的是要通過清楚他們不同之處,明白什么時候更適合用JavaScript,而哪些情況下則使用java。
那么,什么時候使用JavaScript和Java?
舉個例子來說,如何用java和JavaScript的方法實現讓孩子跳躍的操作?
按Java的方法:因為孩子聽不懂“跳”,所以你要在他大腦的部分區域插入了一個控制跳躍功能的電極裝置。當電極沖擊大腦時,他就會不由自主地跳動。機器可以將你的指令轉化為腦信號,你只需要將其安裝在他身上,不需要借助其他的東西,就可以控制他完成“跳躍”動作。
按JavaScript的方法:實現“跳躍”,其實只要教孩子如何跳躍。教完以后,當你說“跳”時,他便知道要開始跳了。所以在JavaScript中,主要的還是你需要教他如何理解“跳”一詞。畢竟程序必須先知道如何解釋命令才能執行。
回到我們的示例當中,除了本身無法在大腦中插入電極裝置以外,將機器安裝在人身上,讓他遵循命令的行為是非常不可取的。而如果你教他理解命令,這樣的話,下次他一聽到這個命令,就能在沒有其他東西輔助的情況下工作。
人是如此,計算機亦是。為什么一直在強調解釋型的重要性,主要還是因為這樣相比較而言更容易編寫,但并不是所有時間都要使用JavaScript。
平日里遇到要用java或JavaScript進行編寫時,我個人的建議是,JavaScript固然十分好用,但一定要是自律性很高的人才更適用,因為,當你需要維護混亂無規則的JavaScript代碼時,就會發現,那簡直是一場噩夢。所以,我還是建議你優先使用java來編寫程序。因為,日常工作當中,你大可使用java編寫不受限的程序瀏覽器。
ava 和 JavaScript 不同之處:
● 出身不同:
Javascript 與 Java 是由不同的公司開發的不同產品。Javascript 是 Netscape 公司的腳本語言,而 Java 是 SUN Microsystems 公司推出的新一代面向對象的程序設計語言。
● 嵌入方式不同:
在 HTML 文檔中,兩種編程語言的標識不同,Javascript 使用 <script></script> 來標識,而 Java 使用 Applet 來標識。
● 語言類型不同:
JavaScript 是動態類型語言,而 Java 是靜態類型語言
● 所采取的變量不同
JavaScript 中的變量聲明采用弱類型,即變量在使用前不需作聲明,而是解釋器在運行時檢查其數據類型。Java 采用強類型變量檢查,即所有變量在編譯之前必須作聲明。
● 代碼格式不同
Javascript 的代碼是一種謀咀址格式,可以直接嵌入 HTML 文檔,并且可動態裝載,編寫 HTML 文檔就像編輯文本文件一樣方便,其獨立文件的格式為*.js。Java 是一種與 HTML 無關的格式,必須通過像 HTML 中引用外媒體那么進行裝載,其代碼以字節代碼的形式保存在獨立的文檔中,其獨立文件的格式為 *.class。
● Javascript 采用動態聯編,即 Javascript 的對象引用在運行時進行檢查。Java 采用靜態聯編,即 Java 的對象引用必須在編譯時的進行,以使編譯器能夠實現強類型檢查。
● Javascript 不直接對文本和圖形進行操作,它在 Web 頁面中與 HTML 元素組合一起發揮作用,但它可以控制瀏覽器,讓瀏覽器直接對文本和圖形進行處理。而 Java 則可以直接對文本和圖形進行操作。
Java 和 JavaScript 相同之處:
● 它們的語法和 C 語言都很相似;
● 它們都是面向對象的(雖然實現的方式略有不同);
● JavaScript 在設計時參照了 Java 的命名規則;
總而言之,JavaScript 除了長得和 Java 比較像之外,語言風格相去甚遠。JavaScript 在設計時所參考的對象不包括 Java,而包括了像 Self 和 Scheme 這樣的語言。所以,以后別再犯糊涂啦。
記得小華君剛剛接觸Java的時候,有一天突然看見了JavaScript,小華君當時就很驚奇啊:這是什么?跟Java這么像,莫非它倆之間有什么不可告人的關系?
好奇如小華君,怎能不打探一下它倆有啥關系。如果你也有疑惑,不妨看看這篇文章,我們來說一下他倆到底是什么關系。
要搞清楚他倆的關系呢,小華君準備先從JavaScript的誕生說起。
1994年的時候,網景公司(Netscape)發布了Navigator瀏覽器0.9版。這是歷史上第一個比較成熟的網絡瀏覽器,轟動一時。但是,這個版本的瀏覽器只能用來瀏覽,不具備與訪問者互動的能力。因此,網景公司急需一種網頁腳本語言,使得瀏覽器可以與網頁互動。1995年Sun公司將Oak語言改名為Java,正式向市場推出,并且打出了“一次編寫,到處運行(Write once,run anywhere)”的宣傳口號。網景公司非常看好Java,決定與Sun公司結成聯盟。僅一個月后,網景公司做出決定,未來的網頁腳本語言,必須看上去與Java足夠相似,但是比Java簡單。程序員Brendan Eich被指定為這種“簡化版Java語言”的設計師。
但是Brendan Eich對Java絲毫沒有興趣,用了10天時間就設計出了JavaScript。總體的設計思路是:(1)借鑒C語言的基本語法;(2)借鑒Java語言的數據類型和內存管理;(3)借鑒Scheme語言,將函數提升到“第一等公民”(first class)的地位;(4)借鑒Self語言,使用基于原型(prototype)的繼承機制。也就是說,JavaScript 在設計時所參考的對象不包括 Java,而包括了像 Self 和 Scheme 這樣的語言,它實際上是函數式編程和面向對象編程兩種語言風格的混合產物。而JavaScript推向市場,也是網景公司和Sun公司聯手合作的,所以JavaScript的名稱中帶有“Java”也并非巧合。
如果非要將Java和JavaScript放在一起對比,也還是能夠找出一些相同點的。比如:
(1)它們的語法和C語言都很相似;(2)JavaScript 在設計時參照了 Java 的命名規則。
但是它們的不同之處更多:(1)利用Java寫出的Applet小程序,在HTML中用<applet>……</applet>來標識;JavaScript程序在HTML中運行,其代碼在<Script>……</Script>標簽內。(2)JavaScript是動態類型語言,而Java是靜態類型語言;(3)Java中使用變量在編譯之前必須聲明其數據類型,采用的是強類型變量;JavaScript則是由解釋器在運行時自動檢查,所以她是弱類型變量;(4)JavaScript的面對對象是基于原型實現的,Java是基于類實現的。
總的來說,Java和JavaScript是兩門不同的編程語言,語言風格相去甚遠,只是名稱相像而已。所以,Java和JavaScript的關系,就像
*請認真填寫需求信息,我們會在24小時內與您取得聯系。