JavaScript入門(mén)必讀
JavaScript是賦予網(wǎng)頁(yè)活力與交互性的主要手段之一,全世界每天都有無(wú)數(shù)網(wǎng)頁(yè)在依靠JavaScript完成各種關(guān)鍵任務(wù)。隨著web2.0和Ajax進(jìn)入主流,JavaScript已經(jīng)被推到了舞臺(tái)中心,使用它來(lái)開(kāi)發(fā)更大更復(fù)雜的程序勢(shì)在必行,更多開(kāi)發(fā)人員和Web設(shè)計(jì)師需要更熟練掌握J(rèn)avaScript。
一個(gè)完整的JavaScript是由以下三部分組成的:
核心的ECMASCRIPT;
文檔對(duì)象模型DOM;
瀏覽器對(duì)象模型BOM;
其中ECMASCRIPT是一個(gè)重要的標(biāo)準(zhǔn),它是一種由歐洲計(jì)算機(jī)制造商協(xié)會(huì)(ECMA)通過(guò)ECMA-262標(biāo)準(zhǔn)化的腳本程序設(shè)計(jì)語(yǔ)言。這種語(yǔ)言在萬(wàn)維網(wǎng)上應(yīng)用廣泛,它往往被稱(chēng)為JavaScript或JScript,但實(shí)際上后兩者是ECMA-262標(biāo)準(zhǔn)的擴(kuò)展。
歷史
1995年12月 太陽(yáng)公司(SUN)與網(wǎng)景通訊公司(Netscape)一起引入了JavaScript。
1996年03月 網(wǎng)景通訊公司發(fā)表了支持JavaScript的網(wǎng)景導(dǎo)航者2.0。
1996年08月 由于JavaScript作為網(wǎng)頁(yè)的客戶(hù)面腳本語(yǔ)言非常成功,微軟將之引入了Internet Explorer3.0,取名JScript。
1996年11月 網(wǎng)景通訊公司將JavaScript提交給歐洲計(jì)算機(jī)制造商協(xié)會(huì)進(jìn)行標(biāo)準(zhǔn)化。
1997年06月 ECMA-262的第一個(gè)版本于被歐洲計(jì)算機(jī)制造商協(xié)會(huì)采納。并將 ECMA-262 標(biāo)準(zhǔn)取名為 ECMAScript。
JavaScript 和 JScript 與 ECMAScript 相容,但包含超出 ECMAScript 的功能。至今為止有三個(gè)ECMA-262版本發(fā)表,第四版正在工作中。
v1 1997年06月 首版
v2 1998年06月 格式修正,以使得其形式與ISO/IEC16262國(guó)際標(biāo)準(zhǔn)一致
v3 1999年12月 強(qiáng)大的正則表達(dá)式,更好的文字鏈處理,新的控制指令,異常處理,錯(cuò)誤定義更加明確,數(shù)輸出的格式化及其它改變
v4 正在工作中...可能更明確的類(lèi)的定義,命名空間等等...
2004年6月歐洲計(jì)算機(jī)制造商協(xié)會(huì)發(fā)表了ECMA-357標(biāo)準(zhǔn),它是ECMAScript的一個(gè)擴(kuò)延,它也被稱(chēng)為E4X(ECMAScript for XML)。
ECMAScript的語(yǔ)言特性和Java、C、Perl都有許多相似之處,其中不少特性都是從這些語(yǔ)言借鑒而來(lái),同時(shí)它們之間也存在許多差異。下面列舉一些ECMAScript的基本特性。
--和Java一樣,ECMAScript區(qū)分大小寫(xiě),注釋的格式相同,通過(guò){}確定代碼塊,原始數(shù)據(jù)類(lèi)型存儲(chǔ)在堆棧,對(duì)象的引用存儲(chǔ)在堆中
--ECMAScript是一種松散的語(yǔ)言,ECMAScript通過(guò)var操作符聲明變量,并且不限類(lèi)型,例如var n = 25,那么n就是數(shù)字類(lèi)型,var n = "string" ,那么n就是String類(lèi)型
--在每一行代碼后,可以不寫(xiě)分號(hào),ECMAScript自動(dòng)認(rèn)為該行的末尾為該行代碼的最后;ECMAScript中的變量可以不用初始化,在幕后系統(tǒng)將自動(dòng)完成初始化操作
--同一變量可以賦予不同類(lèi)型的數(shù)據(jù);變量的第一個(gè)字符只能是字母、下劃線或$ ,其他的字符可以是下劃線、$、或任意的字母、數(shù)字、字符
--和其他語(yǔ)言一樣,變量最好遵循駝峰書(shū)寫(xiě)法,或Pascal表示法、或匈牙利表示法
--和大多數(shù)語(yǔ)言不同的是, ECMAScript 變量在使用之前可以不必聲明,系統(tǒng)會(huì)自動(dòng)將該變量聲明為全局變量,例如var m = " Good " ; n = m + " Morning " ; alert(n)輸出結(jié)構(gòu)是 " Good Morning "
--在大多數(shù)語(yǔ)言里,String是對(duì)象,在ECMAScript中卻是原始數(shù)據(jù)類(lèi)型。