欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript 和 Java 的區(qū)別淺析

 更新時間:2021年04月06日 10:30:58   投稿:shangke  
鑒于有同學(xué)在學(xué)習(xí)的時候容易混肴,所以筆者還是將其加以區(qū)別,需要的朋友可以參考下

雖然JavaScript與Java有緊密的聯(lián)系,但卻是兩個公司開發(fā)的不同的產(chǎn)品。Java是SUN公司推出的新一代面向?qū)ο蟮某绦蛟O(shè)計語言,特別適合于Internet應(yīng)用程序開發(fā);而JavaScript是Netscape公司的產(chǎn)品,其目的是為了擴(kuò)展Netscape Navigator功能,而開發(fā)的一種可以嵌入Web頁面中的基于對象和事件驅(qū)動的解釋性語言, 它的前身是Live Script;而Java的前身是Oak語言。

下面對兩種語言間的異同作如下比較:

1.基于對象和面向?qū)ο?/strong>

Java是一種真正的面向?qū)ο蟮恼Z言,即使是開發(fā)簡單的程序,必須設(shè)計對象。JavaScript是種腳本語言,它可以用來制作與網(wǎng)絡(luò)無關(guān)的,與用戶交互作用的復(fù)雜軟件。它是一種基于對象(Object Based)和事件驅(qū)動(Event Driver)的編程語言。因而它本身提供了非常豐富的內(nèi)部對象供設(shè)計人員使用。

2.解釋和編譯

兩種語言在其瀏覽器中所執(zhí)行的方式不一樣。Java的源代碼在傳遞到客戶端執(zhí)行之前,必須經(jīng)過編譯,因而客戶端上必須具有相應(yīng)平臺上的仿真器或解釋器,它可以通過編譯器或解釋器實現(xiàn)獨立于某個特定的平臺編譯代碼的束縛。
JavaScript是一種解釋性編程語言,其源代碼在發(fā)往客戶端執(zhí)行之前不需經(jīng)過編譯,而是將文本格式的字符代碼發(fā)送給客戶編由瀏覽器解釋執(zhí)行。

3.強(qiáng)變量和弱變量

兩種語言所采取的變量是不一樣的。Java采用強(qiáng)類型變量檢查,即所有變量在編譯之前必須作聲明。如:

復(fù)制代碼 代碼如下:

Integer x;
String y;
x=1234;
x=4321;

其中X=1234說明是一個整數(shù),Y=4321說明是一個字符串。JavaScript中變量聲明,采用其弱類型。即變量在使用前不需作聲明,而是解釋器在運行時檢查其數(shù)據(jù)類型,如:
復(fù)制代碼 代碼如下:

x=1234;
y="4321";

前者說明x為其數(shù)值型變量,而后者說明y為字符型變量。

4.代碼格式不一樣

Java是一種與HTML無關(guān)的格式,必須通過像HTML中引用外媒體那么進(jìn)行裝載,其代碼以字節(jié)代碼的形式保存在獨立的文檔中。JavaScript的代碼是一種文本字符格式,可以直接嵌入HTML文檔中,并且可動態(tài)裝載。編寫HTML文檔就像編輯文本文件一樣方便。

5.嵌入方式不一樣

在HTML文檔中,兩種編程語言的標(biāo)識不同,JavaScript使用來標(biāo)識,而Java使用來標(biāo)識。

6.靜態(tài)聯(lián)編和動態(tài)聯(lián)編

Java采用靜態(tài)聯(lián)編,即Java的對象引用必須在編譯時的進(jìn)行,以使編譯器能夠?qū)崿F(xiàn)強(qiáng)類型檢查。JavaScript采用動態(tài)聯(lián)編,即JavaScript的對象引用在運行時進(jìn)行檢查,如不經(jīng)編譯則就無法實現(xiàn)對象引用的檢查。

以下是補(bǔ)充

三分鐘讀懂Java與JavaScript的區(qū)別

Java跟JavaScript雖然在名稱上有些許相似,但其實是兩種完全不同的語言。Java是一種程序設(shè)計語言,JavaScript是客戶端的腳本語言,把這兩樣?xùn)|西放在一起比較在科學(xué)上其實并不嚴(yán)謹(jǐn)。但它們唯一相同的地方可能就是名字中都有Java。JavaScript為什么有Java這個詞呢,是因為它里面借鑒了Java的對象的概念,所以才有了這個具有“迷惑性”的名稱。

鑒于有同學(xué)在學(xué)習(xí)的時候容易混肴,所以筆者還是將其加以區(qū)別:

一、javascript與Java是由不同的公司開發(fā)的不同產(chǎn)品。javascript是Netscape公司的產(chǎn)品,其目的是為了擴(kuò)展Netscape Navigator功能,而開發(fā)的一種可以嵌入Web頁面中的基于對象和事件驅(qū)動的解釋性語言;而Java是SUN Microsystems公司推出的新一代面向?qū)ο蟮某绦蛟O(shè)計語言,特別適合于Internet應(yīng)用程序開發(fā)。實際上,javascript最初的名字并不是javascript,而是LiveScript,名字中的“Java”是經(jīng)過SUN Microsystems公司授權(quán)的。

二、javascript是基于對象的,它是一種腳本語言,是一種基于對象和事件驅(qū)動的編程語言,因而它本身提供了非常豐富的內(nèi)部對象供設(shè)計人員使用。而Java是面向?qū)ο蟮?,即Java是一種真正的面向?qū)ο蟮恼Z言,即使是開發(fā)簡單的程序也必須設(shè)計對象。

三、javascript與Java嵌入方式不一樣。在HTML文檔中,兩種編程語言的標(biāo)識不同,javascript使用<script></script>來標(biāo)識,而Java使用Applet來標(biāo)識。

四、javascript與Java在瀏覽器中所執(zhí)行的方式不一樣。javascript是一種解釋性編程語言,其源代碼在發(fā)往客戶端執(zhí)行之前不需經(jīng)過編譯,而是將文本格式的字符代碼發(fā)送給客戶,即javascript語句本身隨Web頁面一起下載下來,由瀏覽器解釋執(zhí)行。而Java的源代碼在傳遞到客戶端執(zhí)行之前,必須經(jīng)過編譯,因而客戶端上必須具有相應(yīng)平臺上的仿真器或解釋器,它可以通過編譯器或解釋器實現(xiàn)獨立于某個特定的平臺編譯代碼。

五、javascript與Java代碼格式不一樣。javascript的代碼是一種謀咀址格式,可以直接嵌入HTML文檔中,并且可動態(tài)裝載,編寫HTML文檔就像編輯文本文件一樣方便,其獨立文件的格式為*.js。Java是一種與HTML無關(guān)的格式,必須通過像HTML中引用外媒體那么進(jìn)行裝載,其代碼以字節(jié)代碼的形式保存在獨立的文檔中,其獨立文件的格式為*.class。

六、javascript與Java所采取的變量是不一樣的。

javascript中的變量聲明采用弱類型,即變量在使用前不需作聲明,而是解釋器在運行時檢查其數(shù)據(jù)類型。Java采用強(qiáng)類型變量檢查,即所有變量在編譯之前必須作聲明。

七、javascript采用動態(tài)聯(lián)編,即javascript的對象引用在運行時進(jìn)行檢查。Java采用靜態(tài)聯(lián)編,即Java的對象引用必須在編譯時的進(jìn)行,以使編譯器能夠?qū)崿F(xiàn)強(qiáng)類型檢查。

八、javascript不直接對文本和圖形進(jìn)行操作,它在Web頁面中與HTML元素組合一起發(fā)揮作用,但它可以控制瀏覽器,讓瀏覽器直接對文本和圖形進(jìn)行處理。而Java則可以直接對文本和圖形進(jìn)行操作。

到此這篇關(guān)于JavaScript 和 Java 的區(qū)別淺析的文章就介紹到這了,更多相關(guān)JavaScript 和 Java內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談JavaScript事件的屬性列表

    淺談JavaScript事件的屬性列表

    本文向大家簡單介紹了javascript事件的屬性列表,非常的詳細(xì),推薦給有相同需求的小伙伴們。
    2015-03-03
  • ES6基礎(chǔ)語法之對象介紹

    ES6基礎(chǔ)語法之對象介紹

    這篇文章介紹了ES6中對象的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • javascript驗證form表單數(shù)據(jù)的案例詳解

    javascript驗證form表單數(shù)據(jù)的案例詳解

    這篇文章主要介紹了javascript驗證form表單數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • javascript操作符

    javascript操作符"!~"詳解

    這篇文章主要詳細(xì)介紹了javascript操作符"!~",最基本也最容易忽略的東西,混了幾年連基本都沒了,被人問到得貽笑大方。
    2015-02-02
  • slice函數(shù)的用法 之不錯的應(yīng)用

    slice函數(shù)的用法 之不錯的應(yīng)用

    slice函數(shù)的用法 之不錯的應(yīng)用...
    2006-12-12
  • 從未有過的JavaScript運算符詳細(xì)解釋

    從未有過的JavaScript運算符詳細(xì)解釋

    這篇文章主要為大家介紹了,JavaScript運算符詳解,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Javascript typeof與instanceof的區(qū)別

    Javascript typeof與instanceof的區(qū)別

    JavaScript 中 typeof 和 instanceof 常用來判斷一個變量是否為空,或者是什么類型的。但它們之間還是有區(qū)別的,需要的朋友可以參考下
    2016-10-10
  • Javascript入門學(xué)習(xí)第六篇 js DOM編程

    Javascript入門學(xué)習(xí)第六篇 js DOM編程

    上篇文章納悶的問題,將在這章和以后的幾章里,慢慢搞定。 從今天起,開始學(xué)習(xí)DOM編程 讓我們慢慢稱為一名初級的js程序員。 然后往js匠人方向發(fā)展。
    2008-07-07
  • 鍵盤事件中keyCode、which和charCode 的兼容性測試

    鍵盤事件中keyCode、which和charCode 的兼容性測試

    鍵盤事件中keyCode、which和charCode 的兼容性測試...
    2007-03-03
  • 詳解javascript函數(shù)寫法大全

    詳解javascript函數(shù)寫法大全

    這篇文章主要介紹了javascript函數(shù)寫法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評論