JavaScript簡(jiǎn)介
JavaScript歷史
要了解JavaScript,我們首先要回顧一下JavaScript的誕生。
在上個(gè)世紀(jì)的1995年,當(dāng)時(shí)的網(wǎng)景公司正憑借其N(xiāo)avigator瀏覽器成為Web時(shí)代開(kāi)啟時(shí)最著名的第一代互聯(lián)網(wǎng)公司。
由于網(wǎng)景公司希望能在靜態(tài)HTML頁(yè)面上添加一些動(dòng)態(tài)效果,于是叫Brendan Eich這哥們?cè)趦芍苤畠?nèi)設(shè)計(jì)出了JavaScript語(yǔ)言。你沒(méi)看錯(cuò),這哥們只用了10天時(shí)間。
為什么起名叫JavaScript?原因是當(dāng)時(shí)Java語(yǔ)言非常紅火,所以網(wǎng)景公司希望借Java的名氣來(lái)推廣,但事實(shí)上JavaScript除了語(yǔ)法上有點(diǎn)像Java,其他部分基本上沒(méi)啥關(guān)系。
ECMAScript
因?yàn)榫W(wǎng)景開(kāi)發(fā)了JavaScript,一年后微軟又模仿JavaScript開(kāi)發(fā)了JScript,為了讓JavaScript成為全球標(biāo)準(zhǔn),幾個(gè)公司聯(lián)合ECMA(European Computer Manufacturers Association)組織定制了JavaScript語(yǔ)言的標(biāo)準(zhǔn),被稱為ECMAScript標(biāo)準(zhǔn)。
所以簡(jiǎn)單說(shuō)來(lái)就是,ECMAScript是一種語(yǔ)言標(biāo)準(zhǔn),而JavaScript是網(wǎng)景公司對(duì)ECMAScript標(biāo)準(zhǔn)的一種實(shí)現(xiàn)。
那為什么不直接把JavaScript定為標(biāo)準(zhǔn)呢?因?yàn)镴avaScript是網(wǎng)景的注冊(cè)商標(biāo)。
不過(guò)大多數(shù)時(shí)候,我們還是用JavaScript這個(gè)詞。如果你遇到ECMAScript這個(gè)詞,簡(jiǎn)單把它替換為JavaScript就行了。
JavaScript版本
JavaScript語(yǔ)言是在10天時(shí)間內(nèi)設(shè)計(jì)出來(lái)的,雖然語(yǔ)言的設(shè)計(jì)者水平非常NB,但誰(shuí)也架不住“時(shí)間緊,任務(wù)重”,所以,JavaScript有很多設(shè)計(jì)缺陷,我們后面會(huì)慢慢講到。
此外,由于JavaScript的標(biāo)準(zhǔn)——ECMAScript在不斷發(fā)展,最新版ECMAScript 6標(biāo)準(zhǔn)(簡(jiǎn)稱ES6)已經(jīng)在2015年6月正式發(fā)布了,所以,講到JavaScript的版本,實(shí)際上就是說(shuō)它實(shí)現(xiàn)了ECMAScript標(biāo)準(zhǔn)的哪個(gè)版本。
由于瀏覽器在發(fā)布時(shí)就確定了JavaScript的版本,加上很多用戶還在使用IE6這種古老的瀏覽器,這就導(dǎo)致你在寫(xiě)JavaScript的時(shí)候,要照顧一下老用戶,不能一上來(lái)就用最新的ES6標(biāo)準(zhǔn)寫(xiě),否則,老用戶的瀏覽器是無(wú)法運(yùn)行新版本的JavaScript代碼的。
不過(guò),JavaScript的核心語(yǔ)法并沒(méi)有多大變化。我們的教程會(huì)先講JavaScript最核心的用法,然后,針對(duì)ES6講解新增特性。