第七十二天(2018-10-15)
- [html] HTML5的應(yīng)用程序緩存與瀏覽器緩存有什么不同卵惦?
- [css] 說說你對(duì)BEM規(guī)范的理解事期,同時(shí)舉例說明常見的CSS規(guī)范有哪些揭绑?
- [js] 舉例說明什么是IIFEs?它有什么好處姥敛?
- [軟技能] 一個(gè)項(xiàng)目寫很多的純靜態(tài)頁(yè)面,有公共的部分(例如頭和尾)你是怎么提取公用的邮旷?
題目一:
瀏覽器緩存針對(duì)單個(gè)文件,H5離線緩存針對(duì)整個(gè)應(yīng)用
H5緩存斷網(wǎng)還能用,瀏覽器緩存斷網(wǎng)就用不了
H5緩存核心是applicationCache對(duì)象,瀏覽器緩存核心是cache-control
ps:看了樓上大兄弟,才了解H5緩存將要使用service worker替代
題目二:
BEM:block(塊)懦尝、element(元素)、modifier(修飾符)欢摄,一種命名約定熬丧,可以讓代碼更易理解
如:
.card
.card__body
.card__button--primary
題目三:
Instantly Invoked Function Expression 即時(shí)調(diào)用函數(shù)表達(dá)式
示例
;(function () {
// ... statements
return ...
)()
最好在 IIFE 前追加分號(hào) ; 來避免解析時(shí)與前一個(gè)表達(dá)式合并出現(xiàn)問題
好處
創(chuàng)建一個(gè)局部作用域隔離變量;但在 ES6 擁有了塊級(jí)作用域后變得沒有必要怀挠,可以用語(yǔ)句塊 { ... } 配合 let/const 替代
將運(yùn)行邏輯轉(zhuǎn)化為可求值的表達(dá)式析蝴,彌補(bǔ) JavaScript 基本邏輯語(yǔ)句不是表達(dá)式的缺陷
e.g.
const a = (() => {
if (...) return 1
else return 0
})()
基本等價(jià)于
let a
if (...) a = 1
else a = 0
題目四:
iframe:我最開始用的就是這種,方便省事
wekpack引入公共模塊:${require('html-loader!../../components/header/header.html')}
以上兩種都是純前端的绿淋。
另外現(xiàn)在寫靜態(tài)表面也可以用webapck打包呀闷畸。只處理sass和引入公共模塊就行了,爽的一比