千鋒教育web前端高頻面試題視頻教程,kerwin大話前端面試秘籍(附答案)

- html5語義化?
用對應(yīng)結(jié)構(gòu)的標(biāo)簽包裹對應(yīng)的內(nèi)容。通過能閱讀出含義的標(biāo)簽來構(gòu)建html代碼內(nèi)容的層次結(jié)構(gòu)
對于開發(fā)者:
便于團(tuán)隊(duì)對于html代碼的協(xié)作開發(fā)和維護(hù);
使代碼更易于閱讀,在沒有樣式代碼的情況下也能呈現(xiàn)比較好的內(nèi)容結(jié)構(gòu)和代碼結(jié)構(gòu)
對瀏覽器:
易于seo搜索,便于瀏覽器更好的區(qū)分頁面內(nèi)容的優(yōu)先級,重要性
便于其他設(shè)備解析:屏幕閱讀器、盲人閱讀器等、利于無障礙閱讀、提高頁面可訪問性。
- html5新特性?
圖像、位置、存儲、多任務(wù)的功能增加:
語義化標(biāo)簽:
表單控件,表單屬性
新技術(shù)websocket、webworker、geolocation
localstorage、sessionstorage
移除內(nèi)容:
支持html5新標(biāo)簽:
e8、e7等支持通過document.createElement產(chǎn)生的標(biāo)簽
表述cookie、sessionstorage、localstorage的區(qū)別?
cookie是網(wǎng)站為了標(biāo)識用戶身份而存儲在本地終端上的數(shù)據(jù)
cookie始終參與前后端通信,會占用一定的帶寬
sessionstorage和localstorage是html5的新特性,不參與前后端通信,不占用帶寬,只在本地保存
在存儲大小上,cookie存儲大小4k左右,localstorage和sessionstorage在5m左右,后者能存儲的內(nèi)容更多一些
有效時間上:
cookie再不做任何設(shè)置的情況下是會話級生命周期,也就是回話關(guān)閉cookie消失,設(shè)置生命周期可以使用expires屬性添加標(biāo)準(zhǔn)格式日期來設(shè)置其存在于本地存儲中的時長,實(shí)現(xiàn)n天免登錄之類的功能
localstorage是永久存在于內(nèi)存中的,只能手動刪除或者代碼刪除、sessionstorage生命周期是會話級的,回話關(guān)閉,他就消失。
另外cookie的原生api不太友好,功能上不是很完善,使用時可能需要進(jìn)行一定的封裝以方便實(shí)用,但是localstorage和sessionstorage本身提供了相對豐富的增刪查改的api,使用更加方便。
- 瀏覽器渲染機(jī)制的步驟?
1.解析html文件構(gòu)建dom樹
2.解析css文件構(gòu)建cssom樹
將dom樹和cssom樹合并生成渲染樹
根據(jù)渲染樹確定元素在頁面的準(zhǔn)確位置和幾何屬性
根據(jù)元素準(zhǔn)確位置和樣式類信息開始渲染,生成像素點(diǎn)、稱之為光柵化。
- 重繪和回流
重繪只是讓瀏覽器重新更改元素外觀,代價較小,比如改變顏色背景色之類的屬性,不涉及幾何屬性和位置改變
回流指的是一些元素的幾何屬性或者位置信息發(fā)生改變,這個時候不只是該元素,其他元素也會受影響發(fā)生一定改變,這就需要瀏覽器重新繪制整個頁面,重新計(jì)算所有元素的幾何屬性和位置,代價比較大。
為了節(jié)省性能,需要盡可能減少重繪和回流的發(fā)生
批量修改dom,減少dom修改次數(shù)。
將對元素樣式的改變存儲在文檔碎片fragment,一次性導(dǎo)入。
復(fù)雜動畫效果使其脫離文檔流
css3硬件加速,transform、opacity、filters等動畫不會引起回流和重繪
- data屬性的用法(設(shè)置、獲?。?、優(yōu)點(diǎn)
獲取與設(shè)置的方法:
1.getAttribute()獲取其值,setAttribut設(shè)置其值
html5新方法
data-name = '值';
老方法無兼容性問題、但是不太方便
新方法方便好用,但是有兼容性問題。
優(yōu)點(diǎn):自定義數(shù)據(jù)可以讓頁面有更好的交互體驗(yàn)。