1.說說 DOCTYPE 的作用?
DOCYTPE用于聲明文檔類型,便于瀏覽器解析HTML文檔,加快解析的速度, 提高用戶體驗.它的目的就是要告訴瀏覽器應(yīng)該使用聲明樣的文檔類型定義來解析文檔.聲明文檔的解析類型, 避免瀏覽器的怪異模式.
2. 標(biāo)準(zhǔn)模式和混淆模式的區(qū)別在哪里菜枷?
? 怪異模式,瀏覽器使用自己的怪異模式解析渲染頁面
? 標(biāo)準(zhǔn)模式, 瀏覽器使用W3C標(biāo)準(zhǔn)解析渲染頁面
? 標(biāo)準(zhǔn)模式 === 嚴(yán)格模式, 指瀏覽器安裝W3C標(biāo)準(zhǔn)解析代碼
? 混雜模式 === 怪異模式: 指瀏覽器用自己的方式解析代碼
3.使用XHTML標(biāo)準(zhǔn)的頁面具有哪些局限性栖博?
XML要求嚴(yán)格,必須用head, body, 每個bom標(biāo)簽必須閉合
一些老的瀏覽器并不兼容,
4. 如果頁面使用 application/xhtml+xml 會有哪些問題?
一些老的瀏覽器并不兼容
5. 你會如何處理具有多種語言內(nèi)容的頁面?
? 編寫UTF-8, 空間域名需要支持多瀏覽地址
6. 設(shè)計開發(fā)多語言站點的時候挖滤,需要注意的方面有哪些?
- 應(yīng)用字符集的選擇
- 語言書寫修改&導(dǎo)航結(jié)構(gòu)
- 數(shù)據(jù)驅(qū)動型網(wǎng)站
7. 對于 data- 屬性的優(yōu)勢?
data-為前端開發(fā)者提供自定義屬性, 這些屬性可以通過對象的dataset屬性獲取, 不支持該屬性的瀏覽器可以通過getAttribute方法獲取.
需要注意的是,data-之后的以連字符分割的多個單詞組成的屬性, 獲取的時候應(yīng)該使用駝峰風(fēng)格.
8. 考慮HTML5作為一個開放式網(wǎng)絡(luò)平臺愈案,那么什么是HTML5的基礎(chǔ)?
<nav>, <header>, <section>, <footer>, <article>
9. 描述一下 cookies鹅搪,sessionStorage 和 localStorage 的區(qū)別站绪?
sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可以方便的在web請求之間保存數(shù)據(jù)丽柿。有了本地數(shù)據(jù)恢准,就可以避免數(shù)據(jù)在瀏覽器和服務(wù)器間不必要地來回傳遞。
sessionStorage甫题、localStorage顷歌、cookie都是在瀏覽器端存儲的數(shù)據(jù),其中sessionStorage的概念很特別幔睬,引入了一個“瀏覽器窗口”的概念眯漩。sessionStorage是在同源的同窗口(或tab)中,始終存在的數(shù)據(jù)麻顶。也就是說只要這個瀏覽器窗口沒有關(guān)閉赦抖,即使刷新頁面或進(jìn)入同源另一頁面,數(shù)據(jù)仍然存在辅肾。關(guān)閉窗口后队萤,sessionStorage即被銷毀。同時“獨立”打開的不同窗口矫钓,即使是同一頁面要尔,sessionStorage對象也是不同的
cookies會發(fā)送到服務(wù)器端舍杜。其余兩個不會。
Microsoft指出InternetExplorer8增加cookie限制為每個域名50個赵辕,但I(xiàn)E7似乎也允許每個域名50個cookie既绩。
Firefox每個域名cookie限制為50個。
Opera每個域名cookie限制為30個还惠。
? Firefox和Safari允許cookie多達(dá)4097個字節(jié)饲握,包括名(name)、值(value)和等號蚕键。
Opera允許cookie多達(dá)4096個字節(jié)救欧,包括:名(name)、值(value)和等號锣光。
InternetExplorer允許cookie多達(dá)4095個字節(jié)笆怠,包括:名(name)、值(value)和等號誊爹。
10 說一下對 GET 以及 POST 的區(qū)別骑疆?
- get請求是從服務(wù)器上獲取數(shù)據(jù), post請求時向服務(wù)器發(fā)送數(shù)據(jù).
- get安全性非常低, post安全性較高.get請求的參數(shù)包含在url中, post請求通過Request body 傳遞參數(shù).
- get請求的數(shù)據(jù)量較小, 不能大于2KB,post請求的數(shù)據(jù)量大, 一般來說不受限制.
- GET請求會被瀏覽器主動cache,而POST不會替废,除非手動設(shè)置箍铭。
- get請求只能進(jìn)行url編碼. 而POST支持多種編碼方式
- GET請求參數(shù)會被完整的保留在瀏覽器的歷史記錄中, 而POST請求不會.
11 描述一下async, defer的不同之處。
async :表示立即下載該腳本, 但不妨礙頁面中的其他操作, 比如下載其他資源,或等待加載其他腳本,只對外部腳本有效,
defer: 表示腳本可以延遲到文檔完全被解析和顯示之后執(zhí)行,只對外部腳本文件有效, IE7及更早版本對嵌入腳本也支持這個屬性只有不存在defer和async屬性, 瀏覽器就會按照script標(biāo)簽在頁面中出現(xiàn)的先后屬性對他們進(jìn)行一次解析.也就是說,瀏覽器會立即加載腳本.
12. 如何描述HTML語義化?
增強代碼可讀性, 對開發(fā)者更友好, 在沒有css的情況下也能較好的呈現(xiàn)網(wǎng)頁的內(nèi)容結(jié)構(gòu)和代碼結(jié)構(gòu),便于代碼的維護(hù)和開發(fā),
有利于SEO, 可以讓搜索引擎更好的獲取到更多有效的選項, 搜索引擎爬蟲依賴確定上下文和各個關(guān)鍵字的權(quán)重椎镣,有效提升網(wǎng)頁的搜索量
支持讀屏軟件, 方便其他設(shè)備的解析(如屏幕閱讀器, 盲人閱讀器), 利于無障礙閱讀, 提高可訪問性,
13. HTML5中新添和移除的元素诈火?
新元素范圍五類
canvas 新元素 canvas
新多媒體元素 如 audio video source embed track
新表單元素
新的的語義和結(jié)構(gòu)元素 例如 artcle aside bdi footer header nav section
移除的元素
以下都是HTML4.01 元素在 H5中已經(jīng)被刪除
- acronym
- apple
- basefont
- big
- center
- dir
- font
- frame
- frameset
- noframes
- strike
- tt
14. 你對HTML代碼質(zhì)量的理解?
HTML代碼應(yīng)該盡量符合語義化, 結(jié)構(gòu)應(yīng)該清晰明了, 對每個不同的HTML區(qū)域盡量用注釋劃分清楚,便于開發(fā)和了解,類名盡量語義化,便于了解和規(guī)范.我覺HTML應(yīng)該注重代碼規(guī)范和標(biāo)準(zhǔn),便于SEO的優(yōu)化和項目的維護(hù).