區(qū)別:
成都創(chuàng)新互聯(lián)公司10多年企業(yè)網(wǎng)站設(shè)計(jì)服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及高端網(wǎng)站定制服務(wù),企業(yè)網(wǎng)站設(shè)計(jì)及推廣,對(duì)成都葡萄架等多個(gè)方面擁有多年的網(wǎng)站維護(hù)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。
用處不一樣:
它們最本質(zhì)的不同就是用途:Java目前被廣泛應(yīng)用于PC端、手機(jī)端、互聯(lián)網(wǎng)、數(shù)據(jù)中心等等;
而JavaScript則被主要用于嵌入文本到HTML頁(yè)面,讀寫HTML元素,控制cookies等。
2.出身不同:
Javascript與Java是由不同的公司開發(fā)的不同產(chǎn)品。Javascript是Netscape公司的腳本語(yǔ)言;
而Java是SUN Microsystems?公司推出的新一代面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。
3.嵌入方式不同:
在HTML文檔中,兩種編程語(yǔ)言的標(biāo)識(shí)不同,Javascript?使用lt;scriptgt;lt;/scriptgt;?來標(biāo)識(shí);而?Java?使用?Applet?來標(biāo)識(shí)。
4.語(yǔ)言類型不同:
JavaScript?是動(dòng)態(tài)類型語(yǔ)言;而?Java?是靜態(tài)類型語(yǔ)言。
5.所采取的變量不同:
JavaScript中的變量聲明采用弱類型,即變量在使用前不需作聲明,而是解釋器在運(yùn)行時(shí)檢查其數(shù)據(jù)類型。Java采用強(qiáng)類型變量檢查,即所有變量在編譯之前必須作聲明。
6.代碼格式不同:
Javascript?的代碼是一種動(dòng)態(tài)的,可以直接嵌入?HTML?文檔,并且可動(dòng)態(tài)裝載,編寫?HTML?文檔就像編輯文本文件一樣方便,其獨(dú)立文件的格式為*.js。Java?是一種與?HTML?無關(guān)的格式,必須通過像?HTML?中引用外媒體那么進(jìn)行裝載,其代碼以字節(jié)代碼的形式保存在獨(dú)立的文檔中,其獨(dú)立文件的格式為?*.class。
Javascript?采用動(dòng)態(tài)聯(lián)編,即?Javascript?的對(duì)象引用在運(yùn)行時(shí)進(jìn)行檢查。Java?采用靜態(tài)聯(lián)編,即?Java?的對(duì)象引用必須在編譯時(shí)的進(jìn)行,以使編譯器能夠?qū)崿F(xiàn)強(qiáng)類型檢查。
Javascript?不直接對(duì)文本和圖形進(jìn)行操作,它在?Web?頁(yè)面中與?HTML?元素組合一起發(fā)揮作用,但它可以控制瀏覽器,讓瀏覽器直接對(duì)文本和圖形進(jìn)行處理。而?Java?則可以直接對(duì)文本和圖形進(jìn)行操作。
我了個(gè)去,xesam說的好,三樓有誤,javascrip確實(shí)有一段冷門時(shí)期,甚至幾近消亡,但是后來ajax技術(shù)的出現(xiàn)拯救了javascript,當(dāng)時(shí)谷歌的很多功能都是用AJAX來實(shí)現(xiàn)的,最經(jīng)典的Google地圖就是那時(shí)候開始采用ajax的,大家都知道ajax其實(shí)不是一門新的技術(shù),而是多種技術(shù)的結(jié)合,而他的主要實(shí)現(xiàn)部分即是用javascript來實(shí)現(xiàn)的,ajax的異步刷新極大的提高了用戶體驗(yàn)效果,然后。。。沒然后了,ajax紅了javascript還會(huì)沒落么?
首先,我來舉個(gè)栗子:
Web 開發(fā)人員可以使用 JavaScript 添加個(gè)性網(wǎng)站。JavaScript 是瀏覽器的原生語(yǔ)言。如果你想建立單頁(yè) Web 應(yīng)用程序,只有一種語(yǔ)言可以創(chuàng)建客戶端單頁(yè)程序,那就是 JavaScript。
一些流行的網(wǎng)站使用了 JavaScript,包括:Google,F(xiàn)acebook,YouTube,Yahoo,Wikipedia,Amazon 和 Twitter。它是 Github 上使用最多的語(yǔ)言。也有許多的 Web 應(yīng)用程序避免使用 HTML,完全使用 JavaScript 編碼,其中包括 Gmail 和大多數(shù) Google 的應(yīng)用程序。
Google 在網(wǎng)頁(yè)上執(zhí)行了 JavaScript 來更準(zhǔn)確的索引網(wǎng)頁(yè)。
還有就是現(xiàn)在也可以在移動(dòng)端上Web App和后端發(fā)展的Node.js
現(xiàn)在看來是蠻強(qiáng)大的,在 IBM 設(shè)計(jì)部的一個(gè)資深前端開發(fā)人員引述 William Ting 的話來回答同樣的問題,他說:“只要人們使用互聯(lián)網(wǎng) JavaScript 就會(huì)留下來。未來的價(jià)值同樣也是不可限量的(這只是本人現(xiàn)階段的了解,個(gè)人觀點(diǎn))
1. 處理高并發(fā)場(chǎng)景性能更高
在用 之前,推送服務(wù)是用 ajax polling 做的。我們用 Tornado 和 Node.js 做過兩個(gè)版本的推送服務(wù)。在當(dāng)時(shí)的測(cè)試環(huán)境下,Node.js 的 CPU 時(shí)間是 Tornado 的三分之一,內(nèi)存使用是 Tornado 的一半,代碼行數(shù)只有 Tornado 的三分之一(Node.js 版是用 coffee 寫的)。后來我們使用了 ,CPU 開銷進(jìn)一步降低。
2. 函數(shù)式編程非常適合寫異步回調(diào)鏈
用 Node.js 配合 CoffeeScript 寫異步操作鏈非常便利,相比之下 Tornado 無論是寫命名函數(shù)的回調(diào),還是 yield 一個(gè) Task 都沒那么自然。