“HTML是網(wǎng)頁(yè)的結(jié)構(gòu),CSS是網(wǎng)頁(yè)的外觀,而JavaScript是頁(yè)面的行為迄埃。”
1)HTML—Hypertext Markup Language兑障。
超文本標(biāo)記語(yǔ)言侄非。用來(lái)描述網(wǎng)頁(yè)的語(yǔ)言。
<html> <head> <title>HTML</title> </head> <body> </body> </html>
HTML文本中包含了所謂的“鏈接點(diǎn)”HTML利用超鏈接的方法流译,將各種不同空間的文字信息組織在一起的網(wǎng)狀文本逞怨。總的來(lái)說(shuō)福澡,HTML就是整合網(wǎng)頁(yè)結(jié)構(gòu)和內(nèi)容顯示的一種語(yǔ)言叠赦。?
2)CSS—Cascading Style Sheet
層疊樣式表單。是將樣式信息與網(wǎng)頁(yè)內(nèi)容分離的一種標(biāo)記語(yǔ)言革砸。用來(lái)定義如何顯示html元素除秀。
3)JavaScript
使用它的目的是與HTML超文本標(biāo)記語(yǔ)言、Java腳本語(yǔ)言(Java小程序)一起實(shí)現(xiàn)在一個(gè)Web頁(yè)面中鏈接多個(gè)對(duì)象算利,與Web客戶(hù)交互作用册踩。例如可以設(shè)置鼠標(biāo)懸停效果,在客戶(hù)端驗(yàn)證表單效拭,創(chuàng)建定制的HTML頁(yè)面暂吉,顯示警告框胖秒,設(shè)置cookie等等。
其源代碼在發(fā)往客戶(hù)端運(yùn)行之前不需要進(jìn)行編譯慕的,而是將文本格式的字符代碼發(fā)給瀏覽器扒怖,由瀏覽器解釋運(yùn)行。
alert('Hello World业稼!');?把代碼嵌入HTML語(yǔ)言中盗痒,它會(huì)在加載時(shí)彈出一個(gè)“Hello World”對(duì)話框。
在網(wǎng)中html定義網(wǎng)頁(yè)的結(jié)構(gòu) ? ? ? ? ? ?相當(dāng)于人的骨骼與器官
? ? ? ? ? ?css描述網(wǎng)頁(yè)的樣子 ? ? ? ? ? ? 相當(dāng)于人的皮膚
? ? ? html+css即(骨骼低散、器官)+(皮膚)=植物人
? ? ? html+css+js俯邓,人!可以對(duì)外界刺激做出響應(yīng)熔号,可以思考稽鞭,可以運(yùn)動(dòng),可以化妝(改變css)
html引镊、css朦蕴、js文件加載順序及執(zhí)行情況
雖然天天用到他們,但是我們未必熟悉弟头,想著想著就有不明白的地方了吩抓,今天在弄明白點(diǎn)
HTML頁(yè)面加載和解析流程
1. 用戶(hù)輸入網(wǎng)址(假設(shè)是個(gè)html頁(yè)面,并且是第一次訪問(wèn))赴恨,瀏覽器向服務(wù)器發(fā)出請(qǐng)求疹娶,服務(wù)器返回html文件。
2. 瀏覽器開(kāi)始載入html代碼伦连,發(fā)現(xiàn)標(biāo)簽內(nèi)有一個(gè)標(biāo)簽引用外部CSS文件雨饺。
3. 瀏覽器又發(fā)出CSS文件的請(qǐng)求,服務(wù)器返回這個(gè)CSS文件惑淳。
4. 瀏覽器繼續(xù)載入html中部分的代碼额港,并且CSS文件已經(jīng)拿到手了,可以開(kāi)始渲染頁(yè)面了歧焦。
6. 服務(wù)器返回圖片文件移斩,由于圖片占用了一定面積,影響了后面段落的排布倚舀,因此瀏覽器需要回過(guò)頭來(lái)重新渲染這部分代碼叹哭。
7. 瀏覽器發(fā)現(xiàn)了一個(gè)包含一行Javascript代碼的標(biāo)簽忍宋,趕快運(yùn)行它痕貌。
8. Javascript腳本執(zhí)行了這條語(yǔ)句,它命令瀏覽器隱藏掉代碼中的某個(gè)(style.display=”none”)糠排。瀏覽器不得不重新渲染這部分代碼舵稠。
9. 最終執(zhí)行到了
10. 當(dāng)用戶(hù)點(diǎn)了一下界面中的“換膚”按鈕,Javascript讓瀏覽器換了一下<link>標(biāo)簽的CSS路徑。
11. 瀏覽器向服務(wù)器請(qǐng)求了新的CSS文件哺徊,重新渲染頁(yè)面室琢。
總結(jié):1.總的來(lái)說(shuō)就是按照html文檔的順序加載,遇到什么請(qǐng)求什么落追、返回什么
2.還有就是最好將無(wú)論內(nèi)部或是外部JS文件放到所有html內(nèi)容之后盈滴,這樣會(huì)令用戶(hù)感覺(jué)頁(yè)面加載速度變快了,否則如果將所有外部文件(包括css和JS)引用都放到<head>中轿钠,意味著必須等到全部的JS代碼都被下載解析和執(zhí)行完畢后巢钓,才能開(kāi)始呈現(xiàn)頁(yè)面的內(nèi)容(當(dāng)瀏覽器遇到<body>),這樣會(huì)導(dǎo)致呈現(xiàn)頁(yè)面時(shí)出現(xiàn)明顯的延遲,二延遲期間的瀏覽器窗口將是一片空白疗垛。
轉(zhuǎn)載自c999