ECMAScript
Netscape(網(wǎng)景)公司推出JavaScript不久,不甘落后的微軟也推出了微軟版的JavaScript-JScript,微軟主要將其用于自己的瀏覽器Internet Explorer。最初兩家公司各自為政,分別執(zhí)行自己的標(biāo)準(zhǔn)。那個時候的web程序員是很痛苦的,通常需要將相同的功能編寫兩份不同語法的程序。
1999年,歐洲計(jì)算機(jī)協(xié)會(ECMA)依據(jù)JavaScript制定了ECMAScript的ECMA-262規(guī)范,ECMAScript成為JavaScript的標(biāo)準(zhǔn)。之后兩家公司都遵循了該規(guī)范,所以JavaScript和Jscript大部分是相同的,但也有小部分不同之處。
DOM
Document Object Model(文檔對象模型),在JavaScript當(dāng)中,把html文檔當(dāng)做一棵樹,這棵樹有一個根節(jié)點(diǎn)<html></html>,根節(jié)點(diǎn)下有很多子節(jié)點(diǎn),每一個節(jié)點(diǎn)都可以看做是一個DOM對象,JavaScript通過操作DOM對象完成重構(gòu)整個HTML文檔、添加、移除、改變或重排頁面上的項(xiàng)目。從而達(dá)到網(wǎng)頁動態(tài)效果,提高與用戶的交互度。
JavaScript對DOM元素的操作又可以稱為“html dom編程”。HTML DOM是HTML Document Object Model(文檔對象模型)的縮寫,HTML DOM則是專門適用于HTML/XHTML的文檔對象模型。熟悉軟件開發(fā)的人員可以將HTML DOM理解為網(wǎng)頁的API。它將網(wǎng)頁中的各個元素都看作一個個對象,從而使網(wǎng)頁中的元素也可以被計(jì)算機(jī)語言獲取或者編輯。 例如Javascript就可以利用HTML DOM動態(tài)地修改網(wǎng)頁。
根據(jù)W3C DOM規(guī)范,DOM是一種與瀏覽器,平臺,語言無關(guān)的接口,使得你可以訪問頁面其他的標(biāo)準(zhǔn)組件。簡單理解,DOM解決了Netscape的JavaScript和 Microsoft的JavaScript之間的沖突,給予web設(shè)計(jì)師和開發(fā)者一個標(biāo)準(zhǔn)的方法,讓他們來訪問他們站點(diǎn)中的數(shù)據(jù)、腳本和表現(xiàn)層對象。
Browser Object Model(瀏覽器對象模型),使JavaScript能夠與瀏覽器進(jìn)行“對話”,獲取瀏覽器信息,操作瀏覽器。雖然W3C并沒有對BOM作出規(guī)范,但是所有瀏覽器都支持BOM,有一些事實(shí)上的標(biāo)準(zhǔn)。