1.let const
1.塊級(jí)作用域
2.const生成的常量不能修改,(引用類型除外)
3.不存在變量提升,所以不能提前使用。
4.不能重復(fù)命名
2.解構(gòu)賦值
let a = 1,let b = 2
let [a,b] = [b,a]
3.set,map數(shù)據(jù)結(jié)構(gòu)
1.set:存儲(chǔ)不同成員的集合(常用來數(shù)組去重)
2.map:鍵名是任何類型的鍵值對(duì)結(jié)構(gòu)
4.symbol:獨(dú)一無二的值
5.proxy:攔截對(duì)象,重寫對(duì)象的一些屬性和方法
6.promise:
1.三種狀態(tài):pending,fulfield,reinjek,狀態(tài)修改后無法重新修改
2.race,all.resolve等方法
7.箭頭函數(shù)
1.沒有自己的this,this指向調(diào)用自己的上下文
2.不能被new
3.不能使用call,apply,bind函數(shù)
8.async await
1.async:返回的是一個(gè)promise
2.await:后面是一個(gè)promise對(duì)象則返回promise對(duì),如果不是則返回對(duì)應(yīng)的值。(假如一個(gè)類包含then方法則會(huì)被當(dāng)做promise處理)
3.多個(gè)await時(shí)一個(gè)狀態(tài)改變后將不再改變(不加容錯(cuò)處理|加了catch,或tryCache后面的await則會(huì)繼續(xù)執(zhí)行)
webpack是現(xiàn)代JavaScript應(yīng)用程序中的靜態(tài)模塊打包工具,主要由打包入口entry作為起始點(diǎn)來構(gòu)建依賴圖,通過output來確認(rèn)打包后輸入文件的位置。
loader是用來識(shí)別不是js與json的其他類型語言,進(jìn)行轉(zhuǎn)換。plugin提供了更加強(qiáng)大的功能:打包優(yōu)化,資源管理,環(huán)境變量注入等。還有model用來區(qū)
分是開發(fā)環(huán)境還是生產(chǎn)環(huán)境。
http:
1.超文本傳輸協(xié)議,默認(rèn)端口80
2.無狀態(tài)
3.應(yīng)用層協(xié)議
4.get,post,put,delete,head,options,trace,connect
5.客戶端向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器返回響應(yīng)
https:
1.安全的http協(xié)議
2.默認(rèn)端口443
3.客戶端向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器返回響應(yīng)
http緩存:提高網(wǎng)站的性能和用戶的體驗(yàn)
1.強(qiáng)緩存:再次請(qǐng)求一個(gè)網(wǎng)站時(shí),通過比對(duì)response頭部的cache-control的max-age屬性,判斷是否需要重新請(qǐng)求,不需要?jiǎng)t讀取本地緩存。
2.協(xié)商緩存:客服端請(qǐng)求服務(wù)器時(shí)通過對(duì)比If-Modified-Since頭部的時(shí)間,判斷是否需要重新請(qǐng)求。返回304狀態(tài)碼。
tcp:三次握手(建立可靠的數(shù)據(jù)傳輸通道)。
1.剛開始時(shí)客戶端和服務(wù)端都是處于close狀態(tài)
2.第一次握手客戶端發(fā)送同步報(bào)文,告訴服務(wù)器我具備發(fā)送信息的能力你能接收信息嗎
3.第二次握手服務(wù)端發(fā)送同步報(bào)文,告訴客戶端我具備發(fā)送信息和接收信息的能力。(這時(shí)候服務(wù)端不知道客戶端是否具有接受信息的能力所以引入了第三次握手)
4.第三次握手客戶端發(fā)送同步報(bào)文, 告訴服務(wù)端我具備接受信息的能力。
5.當(dāng)三次握手流程結(jié)束后,客戶端服務(wù)端都知道自己和對(duì)方具備發(fā)送、接收數(shù)據(jù)能力,建立連接完成,就可以進(jìn)行數(shù)據(jù)傳輸了。
tcp:四次揮手(保證等數(shù)據(jù)傳輸完再關(guān)閉連接)。
1.第一次揮手:客戶端向服務(wù)端發(fā)起關(guān)閉鏈接的請(qǐng)求
2.第二次揮手:服務(wù)端接受后可能數(shù)據(jù)還沒有傳輸完成,所以發(fā)送報(bào)文告訴客戶端需要等待傳輸完成,我已經(jīng)知道你想關(guān)閉了。
3.第三次揮手:服務(wù)端數(shù)據(jù)傳輸完成之后,發(fā)送報(bào)文告訴客戶端數(shù)據(jù)傳輸完成,服務(wù)端準(zhǔn)備關(guān)閉鏈接了。
4.第四次揮手:告訴服務(wù)端收到了報(bào)文,等一會(huì)就關(guān)閉鏈接。