TCP 和 UDP 作為一個(gè)前端已經(jīng)不止一次的在面試中被問(wèn)到 TCP 和 UDP 協(xié)議了角骤。為了讓自己的回答不那么敷衍惑艇,從前端的角度對(duì) TCP 和 UDP 在基礎(chǔ)層面進(jìn)行了一下...
![240](https://cdn2.jianshu.io/assets/default_avatar/2-9636b13945b9ccf345bc98d0d81074eb.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
TCP 和 UDP 作為一個(gè)前端已經(jīng)不止一次的在面試中被問(wèn)到 TCP 和 UDP 協(xié)議了角骤。為了讓自己的回答不那么敷衍惑艇,從前端的角度對(duì) TCP 和 UDP 在基礎(chǔ)層面進(jìn)行了一下...
前端緩存 前端緩存可分為兩大類:http緩存和瀏覽器緩存蜒什。我們今天重點(diǎn)講的是http緩存,所以關(guān)于瀏覽器緩存大家自行去查閱兴使。下面這張圖是前端緩存的一個(gè)大致知識(shí)點(diǎn): HTTP緩...
緩存概念 緩存的應(yīng)用非常廣泛发魄,在前端更是有著舉足輕重的地位盹牧,是解決性能問(wèn)題最常用的手段之一。 緩存在我們的項(xiàng)目中可謂是無(wú)處不在励幼,小到一個(gè)函數(shù)的執(zhí)行結(jié)果汰寓,大到圖片資源、服務(wù)器請(qǐng)...
什么是 curry 化 curry 化也是一個(gè)常見(jiàn)的概念苹粟,維基百科對(duì)其解釋為: 在計(jì)算機(jī)科學(xué)中有滑,柯里化(currying),又譯為卡瑞化或加里化嵌削,是把接受多個(gè)參數(shù)的函數(shù)變換成...
模塊化伴隨著前端的發(fā)展,從無(wú)到有想帅,從“偽”到“真”,再到后來(lái)的有成熟體系和規(guī)范并且適用于瀏覽器環(huán)境下的模塊化啡莉。讓我們來(lái)看看模塊化到底經(jīng)歷了什么港准。 什么是模塊化旨剥?為什么需要模塊...
溫故知新 上一篇《如何從無(wú)到有實(shí)現(xiàn)Promise(上)》中我們已經(jīng)實(shí)現(xiàn)了一個(gè)看似可以正常工作的簡(jiǎn)易版 Promise ,不要認(rèn)為這樣就結(jié)束了浅缸,其實(shí)好戲才剛剛開(kāi)始轨帜。本篇我們繼續(xù)...
前言 最近整理了兩篇關(guān)于js異步的筆記,談到異步就不得不說(shuō)說(shuō) Promise衩椒。Promise 取代傳統(tǒng)回調(diào)方式實(shí)現(xiàn)異步蚌父,也是理解 generator、async/await ...
叨叨幾句 上篇通過(guò)幾個(gè)由淺入深的例子了解了如何處理異步任務(wù)毛萌。這一篇深入理解異步概念中的 任務(wù)隊(duì)列苟弛、事件循環(huán)、宏任務(wù)阁将、微任務(wù)等膏秫。 開(kāi)始之前還要重復(fù)強(qiáng)調(diào)一點(diǎn)就是:JavaScri...
js中的異步是初學(xué)者繞不過(guò)去的幾座大山之一。 什么是異步 簡(jiǎn)單介紹下異步做盅,Javascript語(yǔ)言是單線程的缤削,代碼依次執(zhí)行,一些情況下就會(huì)造成代碼阻塞吹榴,因此就需要引出異步亭敢。異...
根據(jù)對(duì)vue源碼的理解,對(duì)vue的數(shù)據(jù)響應(yīng)式做一個(gè)簡(jiǎn)單的實(shí)現(xiàn)图筹。定義myvue吨拗,使用方式仿造vue,簡(jiǎn)單實(shí)現(xiàn)插值表達(dá)式婿斥、數(shù)據(jù)雙向綁定劝篷、事件及指令。直接上代碼創(chuàng)建index.ht...
前置知識(shí) es6之前民宿,js中變量作用域分為兩種:全局作用域娇妓、局部作用域。學(xué)習(xí)閉包之前需要先了解作用域及變量提升的概念活鹰」。《JS變量作用域&作用域鏈》,《js變量提升》 通過(guò)了解...
什么是this JavaScript中的this是什么志群?定義:this是包含它的函數(shù)作為方法被調(diào)用時(shí)所屬的對(duì)象着绷。 我們將定義拆分一下包含它的函數(shù):包含this的函數(shù)是fn1。...
居中也是 css 中使用頻率非常高的知識(shí)點(diǎn)锌云,看下面的例題荠医。 使用多種方式實(shí)現(xiàn)綠色塊的水平和垂直居中。 一、居中元素定寬高 absolute + 負(fù) margin 設(shè)置絕對(duì)定位...
什么是 BFC BFC 稱為塊級(jí)格式化上下文 它會(huì)創(chuàng)建一個(gè)特殊的區(qū)域彬向,在這個(gè)區(qū)域中只有 block box 參與布局兼贡,而B(niǎo)FC的一套規(guī)則就規(guī)定了在這個(gè)特殊的區(qū)域中如何進(jìn)行布局...
最近在總結(jié)異步的一些實(shí)現(xiàn)方式,也是翻出了一道比較經(jīng)典的 promise 面試題與大家分享娃胆。當(dāng)然具體實(shí)現(xiàn)代碼比較長(zhǎng)遍希,所以面試只是問(wèn)了思路。今天找時(shí)間把它實(shí)現(xiàn)出來(lái)里烦。 進(jìn)入正題:現(xiàn)...
剛開(kāi)始學(xué)vue的一篇筆記凿蒜,閑來(lái)無(wú)事翻出來(lái)瞅瞅,順便整理下胁黑,希望可以幫助剛?cè)腴Tvue的同學(xué)吧废封。 先看一個(gè)成熟的表單組件的基本功能html結(jié)構(gòu): vue代碼:在vue的data中...
你要知道的 TypeScript的核心原則之一是對(duì)值所具有的結(jié)構(gòu)進(jìn)行類型檢查。接口的作用就是為類型命名和為代碼或第三方代碼定義契約或者約束别厘。 接口 什么時(shí)候該使用接口呢虱饿,先看...
前段時(shí)間公司項(xiàng)目使用了ts做類型限制,雖然沒(méi)有深入使用触趴,但是已經(jīng)能感受到ts的強(qiáng)大氮发。遂將之前的學(xué)習(xí)筆記整理一遍以作復(fù)習(xí)。為vue3.0打好基礎(chǔ)(大佬們別再學(xué)了冗懦,跟不上了-_-...
js中正則表達(dá)式的功能非常強(qiáng)大,匹配披蕉、替換颈畸、查找無(wú)所不能。利用好正則可以達(dá)到事半功倍的效果没讲∶杏椋基礎(chǔ)內(nèi)容不再贅述,這里只聊一些比較容易被忽略的技巧爬凑。 匹配數(shù)量{n}匹配n次{n,...
上一次跳槽面試的時(shí)候徙缴,一次面試接近尾聲,進(jìn)行的特別順利嘁信,直到面試官提出一個(gè)問(wèn)題于样,“請(qǐng)你實(shí)現(xiàn)一下bind”∨司福“什么4┢省!實(shí)現(xiàn)bind卦溢?為什么不問(wèn)call糊余、apply秀又、bind的使...