當(dāng)網(wǎng)頁(yè)設(shè)計(jì)人員談起與Web標(biāo)準(zhǔn)相關(guān)的話(huà)題的時(shí)候,HTML和CSS通常占住核心地位。不過(guò),W3C已經(jīng)批準(zhǔn)另一項(xiàng)技術(shù),所有與標(biāo)準(zhǔn)相兼容的Web瀏覽器都支持DOM。可以用DOM給文檔增加交互能力,就像使用CSS給文檔添加各種樣式一樣。
PS:也就是說(shuō)DOM與HTML和CSS一樣是Web開(kāi)發(fā)的核心組成部分。期待學(xué)習(xí)~
起源
JavaScript是NetScape和Sun公司合作開(kāi)發(fā)的。面對(duì)微軟的競(jìng)爭(zhēng),NetScape和Sun公司聯(lián)合ECMA(歐洲計(jì)算機(jī)制造協(xié)會(huì))對(duì)JavaScript語(yǔ)言進(jìn)行標(biāo)準(zhǔn)化。于是出現(xiàn)了ECMAScript語(yǔ)言。現(xiàn)在人們談起的JavaScript其實(shí)是ECMAScript。它與Java沒(méi)啥關(guān)系。
PS:學(xué)生時(shí)代,一直以為他兩有一腿。
JavaScript是一種腳本語(yǔ)言,通常只能通過(guò)Web瀏覽器去完成一些操作,需要由Web瀏覽器進(jìn)行解釋和執(zhí)行。
DOM
什么是DOM?簡(jiǎn)單地說(shuō),DOM是一套對(duì)文檔的內(nèi)容進(jìn)行抽象和概念化的方法。
PS: todo 需要反復(fù)理解這句話(huà)。對(duì)文檔的內(nèi)容進(jìn)行定義,按照這種定義,可以進(jìn)行相關(guān)術(shù)語(yǔ)的表達(dá),具有一定的含義,比如可以查找到文檔中某個(gè)元素的位置,然后進(jìn)行相應(yīng)的操作。
瀏覽器戰(zhàn)爭(zhēng)
DHTML表示動(dòng)態(tài)“HTML”,利用HTML、CSS和JavaScript技術(shù)組合成術(shù)語(yǔ)。
- 利用HTML吧網(wǎng)頁(yè)標(biāo)記為各種元素
- 利用CSS設(shè)置元素樣式和它們的顯示位置
- 利用JavaScript實(shí)時(shí)地操控頁(yè)面和改變樣式
PS:實(shí)質(zhì)上我現(xiàn)在對(duì)Web前端的理解就是DHTML
制定標(biāo)準(zhǔn)
W3C推出的標(biāo)準(zhǔn)化的DOM可以讓任何一種程序設(shè)計(jì)語(yǔ)言對(duì)使用任何一種標(biāo)記語(yǔ)言編寫(xiě)出來(lái)的任何一份文檔進(jìn)行操控。
DOM是一種API。簡(jiǎn)單的說(shuō)API,就是一組已經(jīng)得到有關(guān)各方共同認(rèn)可的基本約定。
W3C對(duì)DOM的定義是:“一個(gè)與系統(tǒng)平臺(tái)和編程語(yǔ)言無(wú)關(guān)的接口,程序和腳本可以通過(guò)這個(gè)接口動(dòng)態(tài)地訪問(wèn)和修改文檔的內(nèi)容、結(jié)構(gòu)和樣式”
PS:所以雖然本書(shū)是教會(huì)你如何通過(guò)JavaScript使用DOM,當(dāng)使用PHP或者Python之類(lèi)的程序設(shè)計(jì)語(yǔ)言去解析XML文檔的時(shí)候,DOM語(yǔ)法仍然適用,或者更容易幫助在新語(yǔ)言中的使用。
嶄新起點(diǎn)
WebKit是Safari和Chrome采用的一個(gè)開(kāi)源Web瀏覽器引擎。幾乎所有瀏覽器都內(nèi)置了對(duì)DOM的支持。
小結(jié)
DOM腳本程序設(shè)計(jì) 則涵蓋了使用任何一種支持DOM API的程序設(shè)計(jì)語(yǔ)言去處理任何一種標(biāo)記文檔的情況。
PS:標(biāo)準(zhǔn)化的DOM,改變了通過(guò)分支去判斷各種瀏覽器采用不同的方法去完成相同的人物。文中JavaScript的實(shí)例也因此能統(tǒng)一。聯(lián)想到判斷一個(gè)技術(shù)是否有長(zhǎng)遠(yuǎn)發(fā)展,一個(gè)是開(kāi)源,一個(gè)是標(biāo)準(zhǔn)。