一個(gè)網(wǎng)頁(yè)文件本質(zhì)上就是一個(gè)文本文檔。理論上我們可以使用任何文本編輯器來(lái)編寫這種文件。例如Windows中的記事本?,F(xiàn)在我們打開記事本,輸入下邊的一句話:
```html
我正在寫<u>超文本</u>文檔。
```
然后我們保存這個(gè)文件。記事本默認(rèn)將其保存為普通的文本文檔,擴(kuò)展名是.txt。不過(guò)這次我們換個(gè)擴(kuò)展名,把它另存為index.htm。正常情況下,Windows會(huì)把這個(gè)文件重新關(guān)聯(lián)到一個(gè)Web瀏覽器上。用瀏覽器打開這個(gè)文件就會(huì)看到這串文字,只是在“超文本”這三個(gè)字上加了下劃線。在這個(gè)例子中,我們使用了\<u\>...\</u\>標(biāo)簽,這對(duì)兒標(biāo)簽有開始也有結(jié)束,瀏覽器在渲染時(shí)會(huì)給該標(biāo)簽包圍的文本加下劃線。這是一種特殊的文本文檔,它用一部分文本作為標(biāo)簽去定義另一部分文本的意義和顯示方式,我們把這種文檔叫做**超文本文檔**,用來(lái)編寫超文本文檔的語(yǔ)言叫做**超文本標(biāo)記語(yǔ)言**(HTML)。但不論它超級(jí)到什么程度,其本質(zhì)仍然是文本文檔。你或許會(huì)想,即便是文本文檔,也有很多編碼方式。那么我們應(yīng)該選擇哪種編碼呢?其實(shí)這取決于我們面向哪種語(yǔ)言的人群以及他們所使用的瀏覽器。不過(guò)目前來(lái)講,全網(wǎng)普遍傾向于使用UTF-8編碼,這種編碼支持幾乎所有人類語(yǔ)言?,F(xiàn)在你需要做的,就是為自己選擇一款現(xiàn)代瀏覽器和酷炫的文本編輯器。瀏覽器這方面,我建議你在Google Chrome和Firefox中任選一款你喜歡的,它們都緊跟JavaScript的成長(zhǎng)步伐。文本編輯器這方面,特別推薦你使用vscode,這是微軟非常成功的免費(fèi)項(xiàng)目,用戶體驗(yàn)堪稱絲滑順?biāo)?。特別有意義的是,vscode本身就是用JavaScript編寫的。
上面的例子只是在演示超文本的概念。然而,一個(gè)完整的超文本文檔應(yīng)該具備下面的結(jié)構(gòu)。請(qǐng)?jiān)趧偛诺膇ndex.htm中進(jìn)行修改,換成下面的樣子:
```html
<!doctype html>
<html>
<head>
<title>welcome</title>
</head>
<body>
<p>This is a paragraph.</p >
</body>
</html>
```
在瀏覽器里觀察新的內(nèi)容,不需要重新打開文件,只需按<kbd>F5</kbd>鍵刷新頁(yè)面即可。超文本標(biāo)記語(yǔ)言也有自身的演化歷程,歷史上出現(xiàn)過(guò)很多版本的HTML。在上邊的例子中,\<!doctype html\>這一行是告訴瀏覽器該文檔是一個(gè)符合HTML 5規(guī)范的超文本文檔。\<html\>...\</html\>是一對(duì)兒標(biāo)簽,也是超文本文檔的最外層節(jié)點(diǎn),其他所有標(biāo)簽統(tǒng)統(tǒng)要放在這對(duì)兒標(biāo)簽的內(nèi)部。在這對(duì)兒標(biāo)簽內(nèi)部,又被分為兩大部分,第一部分是\<head\>...\</head\>,叫做**頭部**。頭部里邊放置供瀏覽器使用的信息。在這里有一個(gè)\<title\>...\</title\>標(biāo)簽,其中包圍的文字會(huì)出現(xiàn)在瀏覽器的標(biāo)題欄中。第二部分是\<body\>...\</body\>,叫做**體部**。體部中主要放置要在瀏覽器窗口中呈現(xiàn)給用戶的內(nèi)容。在這個(gè)例子中,體部里有一個(gè)\<p\>...\</p\>標(biāo)簽,表示此處是一個(gè)段落。
現(xiàn)在,你可以編寫更多的信息。例如,告訴瀏覽器這個(gè)文檔的編碼類型是UTF-8,可以寫成下面的樣子:
```html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>歡迎來(lái)訪</title>
</head>
<body>
<p>這是一個(gè)UTF-8編碼的網(wǎng)頁(yè)。</p >
</body>
</html>
```
當(dāng)然,別忘了用utf-8編碼方式來(lái)保存這個(gè)文件。如果文檔實(shí)際的編碼和告知瀏覽器的不一致,會(huì)導(dǎo)致頁(yè)面顯示錯(cuò)亂(亂碼)。
- 序言
- 第01章 網(wǎng)頁(yè)從哪里來(lái)
- 第02章 JavaScript的由來(lái)
- 第03章 JavaScript與Java的區(qū)別
- 第04章 網(wǎng)頁(yè)文件長(zhǎng)什么樣
- 第05章 寫一個(gè)Hello World程序
- 第06章 基本類型與變量
- 第07章 函數(shù)
- 第08章 對(duì)象與引用類型
- 第09章 函數(shù)的上下文
- 第10章 對(duì)象的構(gòu)造函數(shù)
- 第11章 包裝類
- 第12章 自動(dòng)類型轉(zhuǎn)換
- 第13章 控制結(jié)構(gòu)
- 第14章 Array類型
- 第15章 外部JS文件
- 第16章 重要的DOM
- 第17章 Node.js一撇
- 第18章 JS正在觸及的領(lǐng)域