成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

學(xué)Javascript只能做web前端嗎?

網(wǎng)友解答: 然而并不是。準(zhǔn)確的說,只有在Javascript誕生之初,它才是只能用于Web前端的語言。但很快就有各種各樣的Javascript支持環(huán)境被開發(fā)出來,應(yīng)用于各個(gè)方面,不僅限于

網(wǎng)友解答:

然而并不是。準(zhǔn)確的說,只有在Javascript誕生之初,它才是只能用于Web前端的語言。但很快就有各種各樣的Javascript支持環(huán)境被開發(fā)出來,應(yīng)用于各個(gè)方面,不僅限于前端。

我們來回顧一下歷史,早在1995年,網(wǎng)景公司(Netscape)的布蘭登·艾奇發(fā)明了Javascript語言,并在其公司推出的網(wǎng)景領(lǐng)航員(Netscape Navigator)瀏覽器上率先支持。因?yàn)樵O(shè)計(jì)之初就與Sun公司的Java語言有著千絲萬縷的聯(lián)系,所以取名Javascript。

微軟公司看到Javascript大為流行很快就坐不住了,于1996年,也就是Javascript誕生僅一年之后,就推出了自己的腳本語言,取名為JScript。值得注意的是,JScript與Javascript幾乎完全一樣,并與 Internet Explorer 3.0 一同發(fā)布。這個(gè)時(shí)候,雖然互聯(lián)網(wǎng)才剛剛在美國流行,但已經(jīng)出現(xiàn)了不少基于動(dòng)態(tài)網(wǎng)頁技術(shù)的網(wǎng)站。微軟推出的IIS程序所支持的ASP技術(shù),就因?yàn)楹唵我讓W(xué)而廣為流傳。

很少有人知道的是,用ASP技術(shù)開發(fā)動(dòng)態(tài)網(wǎng)頁,并不是只能用Visual Basic語言,微軟在Windows 客戶端腳本及ASP服務(wù)端腳本均支持JScript語言。也就是說,早在上世紀(jì)90年代末,Javascript語言就可以用來編寫桌面腳本和服務(wù)器后端代碼了。只不過在互聯(lián)網(wǎng)普及之前,微軟公司的Visual Basic實(shí)在是太受歡迎了,幾乎沒有不會(huì)寫VB的程序員。所以當(dāng)動(dòng)態(tài)網(wǎng)頁技術(shù)一出現(xiàn),99%的程序員理所當(dāng)然的選擇了VB語言,而不是陌生的Javascript。

時(shí)間跨越到2002年,微軟公司的.Net Framework開發(fā)框架橫空出世,同時(shí)上市的還有其最新的Visual Studio開發(fā)平臺(tái)。.Net的上市,最吸引眼球的就是C#語言,它是微軟為了對抗Java語言而推出的殺手锏。C#的出現(xiàn),吸引了大批Java語言程序員,以及各種非Visual Basic程序員,比如C++和Delphi開發(fā)者投靠.Net陣營,而VB程序員則可以在.Net框架下繼續(xù)使用Visual Basic語言開發(fā)代碼。

眾所周知,開發(fā)者可以借助.Net框架來創(chuàng)造出各種各樣的Web應(yīng)用,C#似乎天生就是為了Web應(yīng)用而創(chuàng)造出來的。Visual Studio又作為史上最成功的IDE,程序員們最常使用的集成開發(fā)環(huán)境,為Web應(yīng)用及桌面應(yīng)用的開發(fā)提供了不少的便利。隨著時(shí)間的推移,C#語言越來越成熟,相對來說,還在堅(jiān)守VB陣地的程序員也越來越少,到最后,整個(gè).Net陣營幾乎成了C#語言一家獨(dú)大的局面。

但有一個(gè)細(xì)節(jié)極少有人知道,那就是.Net框架從一開始就支持JScript語言。也就是說,不論是桌面應(yīng)用還是Web應(yīng)用,完全可以用Javascript來編寫并在.Net框架下編譯通過。只要打開.Net Framework的安裝文件夾就能看到,里面有一個(gè)名為 jsc.exe 的程序,那就是JScript語言的編譯器,與之對應(yīng)的C#和VB編譯器是 csc.exe 和 vbc.exe。

那在.net陣營中,為什么幾乎沒有人用Javascript語言呢?很大的原因是微軟公司沒有在Visual Studio中支持JScript,開發(fā)者無法用VS編輯器創(chuàng)建一個(gè)基于JScript的項(xiàng)目,也無法用JScript語言來進(jìn)行可視環(huán)境的應(yīng)用開發(fā)。如果要用JScript編寫桌面應(yīng)用或者Web應(yīng)用,必須手動(dòng)編譯。微軟弱化JScript存在感的重要因素,就是來源于ECMAScript標(biāo)準(zhǔn)的制約。

要知道微軟一向喜歡特立獨(dú)行,著名的IE瀏覽器與W3C標(biāo)準(zhǔn)不兼容是人盡皆知的事情。在編程語言方面,微軟也是如此。Javascript誕生不久,ECMA(一家國際電信標(biāo)準(zhǔn)組織)就出臺(tái)了相應(yīng)的標(biāo)準(zhǔn)文檔,即ECMAScript。之后的所有Javascript語言實(shí)現(xiàn),均是遵守這一標(biāo)準(zhǔn)的。微軟也不能例外,因?yàn)槿绻蛔袷剡@一標(biāo)準(zhǔn),那么微軟的產(chǎn)品將很難進(jìn)入歐洲或者其他國際市場。

為了防止受制于人,微軟自然更愿意創(chuàng)造自己的標(biāo)準(zhǔn),只有把自己的標(biāo)準(zhǔn)打造成行業(yè)標(biāo)準(zhǔn),才能擁有更多的主動(dòng)權(quán)和話語權(quán),于是也就有了C#語言。所以,為了滿足ECMA的標(biāo)準(zhǔn)的要求,微軟不得不在 .Net 框架中提供對 Javascript 的原生支持。但為了防止被ECMA綁架,微軟又不得不弱化Javascript的存在,反而把C#推到最重要的位置,來實(shí)現(xiàn)自己野心。

但不可否認(rèn)的是,Javascript一直可以被用在非前端開發(fā)領(lǐng)域,并且有時(shí)候工作的還要比其他語言更好。比如早期Web應(yīng)用在數(shù)據(jù)交換是多采用的是XML格式,但后來JSON格式的流行使得許多語言在新版本中添加了相應(yīng)的JSON支持庫。然而,在Ajax與JSON流行之初,多數(shù)語言還不能很好的支持JSON時(shí),像微軟的JScript卻是原生就支持的。也就是說,在那個(gè)時(shí)候,后端程序如果用JScript來開發(fā),在JSON數(shù)據(jù)交換方面,會(huì)非常容易。

再后來Node.js的出現(xiàn),更是模糊了前后端之間的區(qū)別,使得許多只熟悉前端Javascript技術(shù)的程序員也可以涉及到后端應(yīng)用的開發(fā)。當(dāng)然Node.js并不僅僅是用在Web前后端開發(fā)上,也能用于監(jiān)控、桌面應(yīng)用、流媒體等等不同的領(lǐng)域。

除了Web前端與后端應(yīng)用。Javascript語言還被用在一個(gè)非常重要的領(lǐng)域,那就是Flash。盡管Flash技術(shù)已經(jīng)是昨日黃花,正在迅速被HTML5等技術(shù)所取代,Adobe公司也早已經(jīng)宣判了Flash的死刑。但不得不承認(rèn),曾經(jīng)Falsh技術(shù)在Web領(lǐng)域可謂是如日中天。而Flash技術(shù)中所采用的ActionScript語言,也是一種遵循ECMAScript標(biāo)準(zhǔn)的腳本語言,即Javascript語言的另一種實(shí)現(xiàn)。

除了上面這些,Javascript還有一些變種,比如TypeScript,SoundScript等等也可以應(yīng)用在不同的場合。

網(wǎng)友解答:

我覺得并不是這樣的。

標(biāo)簽: