1.描述一下cookies、sessionStorage、localStorage的區別?css
cookies是定時儲存,時間到了就會清除html
Sessionstorage是會話存儲,會話關閉就會被清除瀏覽器
localStorage是離線存儲,須要用戶手動刪除sass
2.如何理解HTML5新標籤的瀏覽器兼容問題?瀏覽器怎麼對HTML5的離線儲存資源進行管理和加載的呢?cookie
Html5新標籤的部分對瀏覽器的兼容不是很好,儘可能減小使用,使用的話作相應的兼容處理session
經過document.createElement方法產生的標籤,能夠利用這一特性讓這些瀏覽器支持HTML5新標籤,閉包
在html標籤內加入Manifest屬性,cache=‘manifest’app
若是已經打開過app,離線儲存過,瀏覽器會對比新的manifest文件和舊的manifest文件;離線狀況下直接調用儲存的manifest文件less
(經過getItem()、setItem()、調用或者存儲)異步
3.AMD\CMD規範區別?
CMD依賴就近而AMD依賴前置
CMD是延遲執行的,而AMD是提早執行的。
AMD 的 API 默認是一個當多個用,CMD 的 API 嚴格區分
4.簡述一下flex、grid佈局,他們有什麼不一樣?
Flex佈局是彈性佈局模式,彈性佈局適配性很好
,是一個一維繫統,用來爲盒狀模型提供最大的靈活性。
Grid佈局是網格佈局模式,簡化了操做
是一個二維繫統,能夠同時處理行和列,能夠經過將css規則用於父元素(網格容器)和該元素的子元素(網格元素)來使用網格佈局。
5.JavaScript原型有什麼特色?JavaScript如何實現繼承?JavaScript繼承的幾種方式?
特色:原型鏈實現了繼承。
經過子類對父類屬性的繼承,並對其進行擴展,從通常到特殊化的過程
原型鏈繼承、構造函數繼承、組合式繼承
6.什麼是閉包?爲何要用它?
在一個函數內部放入另外一個函數
實現對私有變量的訪問、防止全局污染
7.介紹一下標準的CSS的盒子模型?低版本IE的盒子模型有什麼不一樣的?
Html會將每一個元素渲染成一個盒子,他具備margin、padding、border、content四個屬性
低版本的IE盒子模型
IE的content部分把 border 和 padding計算了進去;
8.Webpack熱加載模塊的實現原理?經常使用的loader和它們的做用?
hot reload 實際上配置的是 live reload,也就是每次修改頁面刷新。
所謂的 hot reload(熱加載) 就是每次修改某個 js 文件後,頁面局部更新
css-loader 處理css中路徑引用等問題
style-loader 動態把樣式寫入css
sass-loader scss編譯器
less-loader less編譯器
postcss-loader scss再處理
9.異步加載JS的方式有哪些?瞭解JS執行機制嗎?
方案1、$(document).ready()
方案2、