小筆記

二維數(shù)組中處理其中相同的數(shù)組(可刪除重復(fù),判斷重復(fù))
var arr = [[4,5],[1,2],[3,4],[1,2]]
var arr2 = []
arr.forEach(val=>{
        // JSON.stringify() 用于將對(duì)象轉(zhuǎn)為字符串,且?guī)е硎緦?duì)象的括號(hào){}/[]
        // 此處若用 toString方法     .....也可以
    arr2.push(JSON.stringify(val))
})
// console.log(arr2)
var newArr = Array.from(new Set(arr2))
// console.log(newArr)
從輸入一個(gè)url到頁面呈現(xiàn)經(jīng)歷了什么?
  1. 首先生成HTTP請(qǐng)求 // 但是請(qǐng)求并未發(fā)出,因?yàn)槲覀冞€不知道要請(qǐng)求的服務(wù)器地址
  2. DNS解析,即域名解析,通過操作系統(tǒng)自身的Socket庫和對(duì)應(yīng)的網(wǎng)絡(luò)功能,向最近的dns服務(wù)器發(fā)送解析當(dāng)前url的請(qǐng)求。若該服務(wù)器沒有相對(duì)應(yīng)的域名與之匹配,則由該臺(tái)服務(wù)器向有'.com'域的dns服務(wù)器發(fā)請(qǐng)求,依次往上,最后由該臺(tái)dns服務(wù)器拿到對(duì)應(yīng)的IP地址并返回給瀏覽器。
  3. 有了目標(biāo)服務(wù)器ip地址后,TCP三次握手 // 第一次服務(wù)器發(fā)送帶syn信號(hào)的消息給服務(wù)器,讓服務(wù)器確認(rèn)自己的發(fā)送信息的能力,后,服務(wù)器回傳syn&ack信息給客戶端,讓瀏覽器確認(rèn)服務(wù)器發(fā)送和接受信息的能力,后,瀏覽器向服務(wù)器發(fā)送ack信號(hào),讓服務(wù)器確認(rèn)自己的接受信息的能力。
  4. https應(yīng)用層的TLS / SSL安全驗(yàn)證,安全驗(yàn)證也分幾步,第一步,客戶端向服務(wù)器請(qǐng)求證書和公匙;第二部,客戶端根據(jù)OA規(guī)范驗(yàn)證證書有效性。第三步,驗(yàn)證成功后,返回給服務(wù)器驗(yàn)證成功消息,建立對(duì)稱加密。之后的數(shù)據(jù)通信都會(huì)經(jīng)過該加密。
  5. 緩存驗(yàn)證 // 三道門檻【1,根據(jù)header頭expire(過期時(shí)間),Cache-Control(http1.1新的header,相對(duì)時(shí)間)判斷緩存是否過期,也就是強(qiáng)緩存。2,eTag令牌機(jī)制(協(xié)商緩存),向服務(wù)器發(fā)送一條if-none-match信息,若令牌匹配,則304not-modified返回。3,last-modified機(jī)制,根據(jù)上一次的修改時(shí)間來判斷?若無修改也304返回?!?/li>
  6. 數(shù)據(jù)傳輸,html,css,js等資源傳輸 // 此處還有文章。
  7. 四次揮手,斷開連接。 // 第一次,瀏覽器向服務(wù)器發(fā)送帶 FIN 頭信息,告訴服務(wù)器請(qǐng)求發(fā)送完了希望斷開連接,之后服務(wù)器返回一個(gè)帶ack信號(hào)頭信息,告訴瀏覽器等待信息(因?yàn)榇藭r(shí)數(shù)據(jù)并未傳輸完畢),后,返回帶 FIN 頭信息給瀏覽器,告訴它數(shù)據(jù)發(fā)送完畢可斷開,瀏覽器接收后返回帶ACK信號(hào)頭信息,當(dāng)即斷開連接,服務(wù)器接受后,也斷開連接。 揮手過程 FIN > ACK > FIN > ACK。

淺嘗則止,但細(xì)節(jié)皆值得認(rèn)真刨析,其中還大有內(nèi)容。

參考地址

2018-05-31

== 中的隱式轉(zhuǎn)化

判斷 a == b (類型相等則直接比較,這里討論類型不同的情況)
1,若a與b中含有一個(gè)Object類型,則將其ToPrimitive(input,(Number || String)),第二個(gè)參數(shù)僅在Object為Date或指定時(shí)為String。否則,轉(zhuǎn)為基本類型依次通過對(duì)象上的 valueOf() /ToString /ToNumber 一步步轉(zhuǎn)化,途中轉(zhuǎn)化成左右相同類型可以比較時(shí),會(huì)停止轉(zhuǎn)化。
2,若a,b中含有boolean類型,則將booleanToNumber,再比較
3,若a,b分別為String和Number,則將String類型的ToNumber
4,若null,和undefined,則返回true
// tip:取反號(hào)的優(yōu)先級(jí)!高于==。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容