PWA/Service Worker/Web Worker
漸進(jìn)式網(wǎng)絡(luò)應(yīng)用(Progressive Web App):是谷歌在2015年底提出的概念。是web應(yīng)用程序品擎,但在外觀和感覺(jué)上與原生app類似,支持PWA的網(wǎng)站可以提供脫機(jī)工作、推送通知和設(shè)備硬件訪問(wèn)等功能</br>
Service Worker是瀏覽器在后臺(tái)獨(dú)立于網(wǎng)頁(yè)運(yùn)行的腳本,已包括如推送通知和后臺(tái)同步等功能
-
Service Worker特性:
- 在其自己的全局上下文中運(yùn)行
- 沒(méi)有綁定到特定的網(wǎng)頁(yè)
- 不能訪問(wèn)到 DOM
- 有自己的生命周期忽刽,并且與web頁(yè)面完全分離
Web Worker是HTML5標(biāo)準(zhǔn)的一部分升筏,這一規(guī)范定義了一套 API轻猖,它允許一段JavaScript程序運(yùn)行在主線程之外的另外一個(gè)線程中
函數(shù)式編程
函數(shù)式編程是一種編程范型外构,通俗理解就是把處理過(guò)程邏輯寫(xiě)成函數(shù)普泡,定義好輸入,只需要關(guān)注其輸出結(jié)果审编,并且可以把函數(shù)作為輸入和輸出
-
特性:
- 函數(shù)是一等公民:函數(shù)和其它變量一樣撼班,可以作為輸入和輸出(回調(diào)函數(shù))
- 不可變量:函數(shù)用const定義
- 純函數(shù):不去修改函數(shù)外部的變量
- 引用透明:相同輸入會(huì)得到相同輸出,函數(shù)內(nèi)部不依賴外部全局變量
- 惰性計(jì)算:表達(dá)式綁定的變量不是聲明的時(shí)候計(jì)算的垒酬,而是調(diào)用的時(shí)候去計(jì)算
- 柯里化:只傳遞給函數(shù)一部分參數(shù)來(lái)調(diào)用它砰嘁,讓它返回一個(gè)函數(shù)去處理剩下的參數(shù)