《JavaScript DOM 編程藝術(shù)》讀書筆記之JavaScript 簡(jiǎn)史
JavaScript 是Netscape公司與Sun公司合作開發(fā)的。在 JavaScript 1.0發(fā)布時(shí),Netscape Navigator主宰著瀏覽器市場(chǎng)。微軟在推出IE3的時(shí)候發(fā)布了自己的VBScript語言,同時(shí)以JScript為名發(fā)布了JavaScript 的一個(gè)版本,很快趕上了 Netscape 的步伐。面對(duì)微軟公司的競(jìng)爭(zhēng),Netscape 和 Sun公司聯(lián)合ECMA(歐洲計(jì)算機(jī)制造商協(xié)會(huì))對(duì)JavaScript 語言進(jìn)行了標(biāo)準(zhǔn)化,于是出現(xiàn)了ECMAScript語言,這是同一種語言的另一種名字。
DOM是一套對(duì)文檔的內(nèi)容進(jìn)行抽象和概念化的方法。Netscape Navigator 4發(fā)布于1997年6月,IE4發(fā)布于同年10月。這兩種瀏覽器都對(duì)它們的早期版本進(jìn)行了許多改進(jìn),大幅擴(kuò)展了DOM,使能夠通過JavaScript 完成的功能大大增加。而網(wǎng)頁設(shè)計(jì)人員也開始接觸到一個(gè)新名詞:DHTML(動(dòng)態(tài)HTML)。
DHTML并不是一項(xiàng)新技術(shù),而是描述HTML, CSS和JavaScript 技術(shù)組合的術(shù)語。不幸的是,NN 4和IE 4瀏覽器使用的是兩種不兼容的DOM。這導(dǎo)致了一種可笑的局面:程序員在編寫DOM腳本代碼時(shí)必須知道它們將運(yùn)行在哪種瀏覽器環(huán)境里,所以在實(shí)際工作中,許多腳本不得不編寫兩次,一次為Netscape Navigator,另一次為IE。同時(shí),程序員還必須編寫一些代碼去探查在客戶端運(yùn)行的瀏覽器到底是哪一種。DHTML打開了一個(gè)充滿機(jī)會(huì)的新世界,但想要進(jìn)入其中的人們卻發(fā)現(xiàn)這是個(gè)充滿苦難的世界。因此,沒多久,這種技術(shù)的評(píng)價(jià)就變成了“宣傳噱頭”和“難以實(shí)現(xiàn)”。
就在瀏覽器制造商以DOM為武器展開營(yíng)銷大戰(zhàn)的同時(shí),W3C結(jié)合大家的優(yōu)點(diǎn)推出了一個(gè)標(biāo)準(zhǔn)化的DOM。令人欣慰的是,Netscape、微軟和其他一些瀏覽器制造商們還能拋開彼此的敵意而與W3C攜手制定新的標(biāo)準(zhǔn),并于1998年10月完成了“第1級(jí)DOM”(DOM Level 1)。
W3C對(duì)DOM的定義是:“一個(gè)與系統(tǒng)平臺(tái)和編程語言無關(guān)的接口,程序和腳本可以通過這個(gè)接口動(dòng)態(tài)的訪問和修改文檔的內(nèi)容、結(jié)構(gòu)和樣式?!盬3C推出的標(biāo)準(zhǔn)化DOM,在獨(dú)立性和適用范圍等諸多方面,都遠(yuǎn)遠(yuǎn)超出了各自為戰(zhàn)的瀏覽器制造商們推出的各種專有DOM。
今天幾乎所有的瀏覽器都內(nèi)置了對(duì)DOM的支持。我們已經(jīng)目睹了由異步數(shù)據(jù)傳輸技術(shù)(Ajax)所引發(fā)的的學(xué)習(xí)DOM腳本編程的熱潮,而HTML5 DOM的眾多新特性,怎能不讓人對(duì)Web的未來浮想聯(lián)翩?
以上為本人對(duì)于《JavaScript DOM 編程技術(shù)》(第2版)第一章的讀后總結(jié),認(rèn)識(shí)下javascript的發(fā)展史。
相關(guān)文章
js實(shí)現(xiàn)顯示當(dāng)前狀態(tài)的導(dǎo)航效果代碼
這篇文章主要介紹了js實(shí)現(xiàn)顯示當(dāng)前狀態(tài)的導(dǎo)航效果代碼,涉及javascript通過鼠標(biāo)點(diǎn)擊事件動(dòng)態(tài)改變頁面元素屬性的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-08-08
用javascript關(guān)閉本窗口不彈出詢問框的方法
ie中用close關(guān)閉非open打開的窗口時(shí)回彈出一個(gè)對(duì)話框詢問用戶,怎么去掉這個(gè)框呢,在window.close之前加上window.top.opener = null就可以了2014-09-09
JS獲取節(jié)點(diǎn)的兄弟,父級(jí),子級(jí)元素的方法
本篇文章主要是對(duì)JS獲取節(jié)點(diǎn)的兄弟,父級(jí),子級(jí)元素的方法進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-01-01
(推薦一個(gè)超好的JS函數(shù)庫(kù))S.Sams Lifexperience ScriptClassLib
(推薦一個(gè)超好的JS函數(shù)庫(kù))S.Sams Lifexperience ScriptClassLib...2007-04-04
基于BootstrapValidator的Form表單驗(yàn)證(24)
這篇文章主要為大家詳細(xì)介紹了基于BootstrapValidator的Form表驗(yàn)證,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
JavaScript 對(duì)象模型 執(zhí)行模型
JavaScript 對(duì)象模型-執(zhí)行模型分析2009-12-12
Bootstrap Metronic完全響應(yīng)式管理模板學(xué)習(xí)筆記
這篇文章主要為大家分享了Bootstrap Metronic完全響應(yīng)式管理模板學(xué)習(xí)筆記,感興趣的小伙伴們可以參考一下2016-07-07
js對(duì)table的td進(jìn)行相同內(nèi)容合并示例詳解
正如標(biāo)題所言如何對(duì)table的td進(jìn)行相同內(nèi)容合并,下面為大家詳細(xì)介紹下使用js是如何做到的,感興趣的朋友不要錯(cuò)過2013-12-12

