文檔對象模型(DOM)——訪問和操作網(wǎng)頁內(nèi)容的方法和接口
瀏覽器對象模型(BOM)——與瀏覽器交互的方法和接口
我們在上面講的都是ECMAScript,也就是語法相關(guān)的,但是JS真正強(qiáng)大的,或者說我們最需要的可能就是對DOM的操作,這也就是為什么jQuery等庫可以流行的原因之一,而核心語言功能才是真正在哪里都適用的,至于BOM,真正用到的機(jī)會很少,因為沒有完善的統(tǒng)一的標(biāo)準(zhǔn)。
一個簡單的DOM示例,
Red
我們需要修改一下helloworld.html添加
Red
同時還需要將script標(biāo)簽移到body下面,如果沒有意外的話我們會看到頁面上用紅色的字體顯示Red,修改app.js。
var para=document.getElementById("para");
para.style.color="blue";
接著,字體就變成了藍(lán)色,有了DOM我們就可以對頁面進(jìn)行操作,可以說我們看到的絕大部分的頁面效果都是通過DOM操作實現(xiàn)的。
3.5 美妙之處
這里說到的Javascript僅僅只是其中的一小小部分,忽略掉的東西很多,只關(guān)心的是如何去設(shè)計一個實用的app,作為一門編程語言,他還有其他強(qiáng)大的內(nèi)制函數(shù),要學(xué)好需要一本有價值的參考書。這里提到的只是其中的不到20%的東西,其他的80%或者更多會在你解決問題的時候出現(xiàn)。
我們可以創(chuàng)建一個對象或者函數(shù),它可以包含基本值、對象或者函數(shù)。
我們可以用Javascript修改頁面的屬性,雖然只是簡單的示例。
我們還可以去解決實際的編程問題。
4 無處不在的CSS
或許你覺得CSS一點兒也不重要,而事實上,如果說HTML是建筑的框架,CSS就是房子的裝修。那么Javascript呢,我聽到的最有趣的說法是小三——還是先讓我們回到代碼上來吧。
4.1 CSS
下面就是我們之前說到的代碼,css將Red三個字母變成了紅色。
Red
只是,
var para=document.getElementById("para");
para.style.color="blue";
將字體變成了藍(lán)色,CSS+HTML讓頁面有序的工作著,但是Javascript卻打亂了這些秩序,有著唯恐世界不亂的精彩,也難怪被冠以小三之名了——或許終于可以理解,為什么以前人們對于Javascript沒有好感了——不過這里要講的是正室,也就是CSS,這時還沒有Javascript。

Red Fonts
4.2 關(guān)于CSS
這不是一篇專業(yè)講述CSS的書籍,所以我不會去說CSS是怎么來的,有些東西我們既然可以很容易從其他地方知道,也就不需要花太多時間去重復(fù)。諸如重構(gòu)等這些的目的之一也在于去除重復(fù)的代碼,不過有些重復(fù)是不可少的,也是有必要的,而通常這些東西可能是由其他地方復(fù)制過來的。
到目前為止我們沒有依賴于任何特殊的硬件或者是軟件,對于我們來說我們最基本的需求就是一臺電腦,或者可以是你的平板電腦,當(dāng)然也可以是你的智能手機(jī),因為他們都有個瀏覽器,而這些都是能用的,對于我們的CSS來說也不會有例外的。
CSS(Cascading Style Sheets),到今天我也沒有記得他的全稱,CSS還有一個中文名字是層疊式樣式表,事實上翻譯成什么可能并不是我們關(guān)心的內(nèi)容,我們需要關(guān)心的是他能做些什么。作為三劍客之一,它的主要目的在于可以讓我們方便靈活地去控制Web頁面的外觀表現(xiàn)。我們可以用它做出像淘寶一樣復(fù)雜的界面,也可以像我們的書本一樣簡單,不過如果要和我們書本一樣簡單的話,可能不需要用到CSS。HTML一開始就是依照報紙的格式而設(shè)計的,我們還可以繼續(xù)用上面說到的編輯器,又或者是其他的。如果你喜歡DreamWeaver那也不錯,不過一開始使用IDE可無助于我們寫出良好的代碼。
忘說了,CSS也是有版本的,和windows,Linux內(nèi)核等等一樣,但是更新可能沒有那么頻繁,HTML也是有版本的,JS也是有版本的,復(fù)雜的東西不是當(dāng)前考慮的內(nèi)容。