千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > Java和JavaScript有什么區(qū)別

Java和JavaScript有什么區(qū)別

來(lái)源:千鋒教育
發(fā)布人:wjy
時(shí)間: 2022-07-06 17:30:00 1657099800

  我還記得第一次接觸Java的時(shí)候,有一天突然看到JavaScript,我的第一反應(yīng)是:這是什么?跟Java這么相似,是不是有什么隱藏的關(guān)系?那么Java和JavaScript有什么區(qū)別呢?

Java和JavaScript有什么區(qū)別

  從他們出生開(kāi)始:

  1994 年,Netscape 發(fā)布了第 9 版 Navigator 瀏覽器0.9。這是史上第一款比較成熟的網(wǎng)頁(yè)瀏覽器,轟動(dòng)一時(shí)。但是,這個(gè)版本的瀏覽器只能用于瀏覽,不具備與訪問(wèn)者交互的能力。因此,Netscape 迫切需要一種允許瀏覽器與網(wǎng)頁(yè)交互的網(wǎng)絡(luò)腳本語(yǔ)言。 1995年,Sun將Oak語(yǔ)言改為Java,正式推向市場(chǎng),打出“Write once, run anywhere”的口號(hào)。 Netscape 非常看好 Java,決定與 Sun 結(jié)成聯(lián)盟。僅僅一個(gè)月后,Netscape 決定未來(lái)的 Web 腳本語(yǔ)言必須看起來(lái)與 Java 足夠相似,但比 Java 更簡(jiǎn)單。程序員 Brendan Eich 被任命為這種“簡(jiǎn)化 Java 語(yǔ)言”的設(shè)計(jì)者。

  但是 Brendan Eich 對(duì) Java 完全沒(méi)有興趣,他在 10 天內(nèi)設(shè)計(jì)了 JavaScript??傮w設(shè)計(jì)思路是:(1)借鑒了C語(yǔ)言的基本語(yǔ)法;(2)借鑒了Java語(yǔ)言的數(shù)據(jù)類型和內(nèi)存管理;(3)借鑒了Scheme語(yǔ)言,以及將函數(shù)升級(jí)為“頭等艙”(first class)的狀態(tài);(4)借用了Self語(yǔ)言,使用了基于原型的繼承機(jī)制。也就是說(shuō),Java Script在設(shè)計(jì)時(shí)引用的對(duì)象做不包括Java,但包括Self和Scheme這樣的語(yǔ)言,其實(shí)是函數(shù)式編程和面向?qū)ο缶幊田L(fēng)格的混合體。而javascript的原名不是javascript,而是LiveScript,名字中的“Java”是獲得 SUN Microsystems 許可后。

  簡(jiǎn)單地說(shuō),java 和 JavaScript 是兩種不同的語(yǔ)言。

  1 語(yǔ)言特點(diǎn):

  1.1 弱類型:

  JavaScript在聲明變量時(shí)并沒(méi)有嚴(yán)格區(qū)分?jǐn)?shù)據(jù)類型,(var變量名),不如java嚴(yán)格(類型:變量名)。換句話說(shuō),在Javascript面前一切都是平等的。在他眼里,每個(gè)人都是人,但在java中就不一樣了,男人、女人等等……

  基于這個(gè)特性,javascript在很多情況下可以比java寫得更簡(jiǎn)潔,比如函數(shù)聲明。

  1.2 動(dòng)態(tài)語(yǔ)言:

  Java 無(wú)法在定義數(shù)組后更改其長(zhǎng)度,但 JavaScript 可以。而且java的數(shù)組只能放相同類型的數(shù)據(jù),而javascript可以在數(shù)組中加入不同數(shù)據(jù)類型的數(shù)據(jù)。可以說(shuō)Java更無(wú)情,而javascript更靈活。

  1.3 腳本語(yǔ)言:

  Java等后臺(tái)語(yǔ)言是編譯執(zhí)行的,但是JavaScript是邊編譯邊執(zhí)行的。

  2 數(shù)據(jù)類型

  2.1 底層數(shù)據(jù)類型:

  Java 有八種數(shù)據(jù)類型:byte、short、intlong、float、double、char、Boolean。感覺(jué)javascript把上面組織成三種原始類型:數(shù)字、字符串和布爾值。還有兩種特殊的原始類型:null 和 undefined。

  2.2 變量

  Java:數(shù)據(jù)類型 變量名=值;

  Javascript:var 變量名=值;數(shù)組

  Java:

  類型[] 數(shù)組名=new 類型[數(shù)量];

  類型[] 數(shù)組名=new 類型[]{元素1,元素2…};

  Javascript:

  var 數(shù)組名=[];

  var 數(shù)組名=new Array();

  3 函數(shù):

  Java:返回值類型 函數(shù)名(類型 參數(shù)1,類型 參數(shù)2…){}

  Javascript:function 函數(shù)名(參數(shù)1,參數(shù)2…){}

  兩者用途

  java 廣泛應(yīng)用于個(gè)人 PC、數(shù)據(jù)中心、游戲機(jī)、科學(xué)超級(jí)計(jì)算機(jī)、手機(jī)和互聯(lián)網(wǎng)。

  Javascript的目的是:1.在HTML頁(yè)面中嵌入動(dòng)態(tài)文本;2.響應(yīng)瀏覽器事件; 3.讀取和寫入HTML元素;4.在數(shù)據(jù)中驗(yàn)證數(shù)據(jù),然后再提交給服務(wù)器; 5.檢測(cè)訪問(wèn)者的瀏覽器信息; 6.控制 cookie,包括創(chuàng)建和修改。

  以上就是Java和JavaScript有什么區(qū)別的介紹,如果你在學(xué)習(xí)java的過(guò)程中存在疑問(wèn),可以關(guān)注千鋒教育技術(shù)干貨欄目,也可以咨詢我們的客服老師。更多關(guān)于“Java培訓(xùn)”的問(wèn)題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗(yàn),課程大綱更科學(xué)更專業(yè),有針對(duì)零基礎(chǔ)的就業(yè)班,有針對(duì)想提升技術(shù)的好程序員班,高品質(zhì)課程助力你實(shí)現(xiàn)java程序員夢(mèng)想。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
什么是PlatformIo?

PlatformIO是什么PlatformIO是一個(gè)全面的物聯(lián)網(wǎng)開(kāi)發(fā)平臺(tái),它為眾多硬件平臺(tái)和開(kāi)發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡(jiǎn)化了開(kāi)發(fā)過(guò)程,并能兼容各種...詳情>>

2023-10-14 12:55:06
云快照與自動(dòng)備份有什么區(qū)別?

1、定義和目標(biāo)不同云快照的主要目標(biāo)是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時(shí)間點(diǎn)后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動(dòng)備份的主要目標(biāo)...詳情>>

2023-10-14 12:48:59
服務(wù)器為什么要用Linux?

服務(wù)器為什么要用Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,Linux在眾多選擇中脫穎而出。Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,有其獨(dú)特的優(yōu)勢(shì)和特點(diǎn)。包括其...詳情>>

2023-10-14 12:34:11
ORM解決的主要問(wèn)題是什么?

ORM(對(duì)象關(guān)系映射)解決的主要問(wèn)題是將關(guān)系數(shù)據(jù)庫(kù)與面向?qū)ο缶幊讨g的映射困境。在傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)中,數(shù)據(jù)以表格的形式存儲(chǔ),而在面向?qū)ο?..詳情>>

2023-10-14 12:26:19
Go為什么不支持三元運(yùn)算符?

Go為什么不支持三元運(yùn)算符Go語(yǔ)言是一種以簡(jiǎn)潔和有效性為目標(biāo)的編程語(yǔ)言,因此在設(shè)計(jì)過(guò)程中,Go的設(shè)計(jì)者刻意排除了一些他們認(rèn)為可能導(dǎo)致復(fù)雜性或...詳情>>

2023-10-14 12:12:36