1、回流于重繪
答:回流:當(dāng)rander tree中發(fā)生元素的顯示隱藏,尺寸變化满哪,布局變化時(shí)需要重新構(gòu)建就是回流。因?yàn)轫?yè)面要構(gòu)建rander tree劝篷,每個(gè)頁(yè)面會(huì)發(fā)生至少一次的回流哨鸭,就是在第一次加載頁(yè)面的時(shí)候。
重繪:當(dāng)rander tree上有一些屬性發(fā)生變化娇妓,這些屬性影響外觀顏色風(fēng)格像鸡,而不影響結(jié)構(gòu)的時(shí)候,就會(huì)發(fā)生重繪,比如background-color只估。
區(qū)別:回流必將引起重繪志群,而重繪不一定引起回流,比如改變顏色的時(shí)候會(huì)引起重繪蛔钙,但是不會(huì)回流锌云。比如改變?cè)仫@示的時(shí)候就會(huì)引起回流并重繪。
2吁脱、怎么樣避免瀏覽器一直回流于重繪
答:瀏覽器本身也會(huì)幫忙優(yōu)化一些這樣的問題桑涎,瀏覽器在回流重繪的時(shí)候會(huì)構(gòu)建一個(gè)隊(duì)列,在到一定的時(shí)間內(nèi)或者操作數(shù)量到了一定程度后兼贡,瀏覽器會(huì)批量觸發(fā)一次攻冷。我們自己本身也可以優(yōu)化一些這樣的問題,比如一個(gè)div里要添加3個(gè)p標(biāo)簽遍希,我們可以把3個(gè)p標(biāo)簽拼接好等曼,統(tǒng)一添加到div里。
3凿蒜、面向?qū)ο蟮睦斫?br>
4禁谦、Async和await和promise的區(qū)別
答:1、async/await是ES7的篙程,Proimise是ES6的枷畏。2、async/await對(duì)于promise來說寫法更優(yōu)雅3虱饿、reject狀態(tài):promise的錯(cuò)誤狀態(tài)是用catch來捕獲的拥诡,建議寫在尾部。async/await可以用.then又可以用try catch捕獲氮发。
async/await是基于promise開發(fā)出來的渴肉,當(dāng)函數(shù)執(zhí)行的時(shí)候,一遇到await就返回爽冕,等待異步操作完成再執(zhí)行函數(shù)體后面的語句仇祭,它其實(shí)是generator的語法糖,*號(hào)替換成async颈畸,yield替換成await乌奇。
5、渲染機(jī)制眯娱,怎么優(yōu)化
6礁苗、在瀏覽器輸入url后發(fā)生了什么
答:1、域名解析徙缴。2试伙、建立TCP連接(三次握手)。3、發(fā)送http請(qǐng)求疏叨。4潘靖、服務(wù)器接受到請(qǐng)求并處理。5蚤蔓、服務(wù)器返回結(jié)果卦溢。6、關(guān)閉TCP連接昌粤。7既绕、瀏覽器解析HTML啄刹。8涮坐、瀏覽器布局渲染
7、svg和canvas
答:canvas是用筆刷進(jìn)行2D繪圖的誓军。svg是用標(biāo)簽繪制矢量圖的袱讹。他們都是用于繪制2D圖像。
區(qū)別:canvas是用來繪制位圖的昵时,svg是繪制矢量圖的捷雕,svg節(jié)點(diǎn)較多,渲染較慢壹甥,canvas渲染快救巷,但寫起來復(fù)雜。svg支持分層和事件句柠,canvas不支持浦译,但是有庫(kù)支持。
位圖圖像也稱為點(diǎn)陣圖像溯职,位圖使用我們成為像素的一格一格的小點(diǎn)來描述圖像精盅。矢量圖是根據(jù)集合特性來繪制圖形,使用線段和曲線描述圖像谜酒,矢量可以是一個(gè)點(diǎn)或一條線叹俏,矢量圖只能靠軟件生成,內(nèi)存較小僻族。
8粘驰、節(jié)流和防抖
答:都是應(yīng)對(duì)頁(yè)面中事件頻繁觸發(fā)的優(yōu)化方案。
防抖:避免事件重復(fù)觸發(fā)述么。使用場(chǎng)景:1蝌数、頻繁和服務(wù)端交互。2碉输、輸入框自動(dòng)保存事件籽前。
節(jié)流:把頻繁觸發(fā)的事件減少,并且每隔一段時(shí)間執(zhí)行。使用場(chǎng)景:scroll事件
9枝哄、cookie,localstorege和sessionstrorage區(qū)別
10肄梨、緩存機(jī)制
答:1、強(qiáng)緩存(本地緩存):不發(fā)起請(qǐng)求挠锥,直接使用緩存里的內(nèi)容众羡,瀏覽器把js、css蓖租、immag等存到內(nèi)存中粱侣,下次用戶訪問直接使用。觸發(fā):HTTP1.0時(shí)間戳響應(yīng)表頭蓖宦,HTTP1.1 Cache-Control響應(yīng)標(biāo)頭齐婴。2、協(xié)商緩存(弱緩存):需要向服務(wù)器發(fā)送請(qǐng)求稠茂,通過判斷來決定是否使用協(xié)商緩存柠偶,如果請(qǐng)求內(nèi)容沒有變化,則返回304睬关,瀏覽器就用緩存內(nèi)容诱担。觸發(fā):HTTP1.0if-modified-since響應(yīng)標(biāo)頭,HTTP1.1 if-none-match響應(yīng)標(biāo)頭:Etag电爹。
11蔫仙、用戶的權(quán)限
12、說一下組件化的理解
13丐箩、虛擬dom
答:虛擬DOM本質(zhì)上就是一個(gè)普通的js對(duì)象摇邦,用于描述視圖的頁(yè)面結(jié)構(gòu)。在VUE中每個(gè)組件都有一個(gè)render函數(shù)雏蛮,每一個(gè)render函數(shù)返回一個(gè)虛擬DOM樹涎嚼,也就證明每一個(gè)組件對(duì)應(yīng)著一個(gè)虛擬DOM樹。虛擬DOM的作用:1挑秉、是為了提高渲染速度法梯,虛擬DOM只更新需要更新的部分,從而避免全量更新的開銷犀概,這種方式可以減少頁(yè)面渲染開銷立哑,提高渲染效率。2姻灶、是有更好的性能表現(xiàn)铛绰,虛擬DOM可以通過對(duì)DOM的操作批量處理,減少對(duì)實(shí)際DOM的操作产喉,從而減少了頁(yè)面重新渲染的次數(shù)捂掰,VUE也做了一些性能優(yōu)化技巧敢会,如異步批量更新,緩存組件等这嚣。3鸥昏、虛擬DOM更易于開發(fā)和維護(hù),使用虛擬DOM可以將應(yīng)用程序的狀態(tài)和渲染邏輯分離姐帚,使得代碼更易于理解和維護(hù)吏垮,開發(fā)者只需要關(guān)注數(shù)據(jù)的變化,不需要手動(dòng)更新DOM元素罐旗,從而提高開發(fā)效率膳汪。4、跨平臺(tái)支持九秀,虛擬DOM是純JS開發(fā)實(shí)現(xiàn)的遗嗽,因此可以在不同的平臺(tái)和環(huán)境中使用,
14颤霎、vue里的key是什么
答:key是vue中diff算法里的一個(gè)內(nèi)容媳谁,key的作用是標(biāo)記出我們這次和上次同一個(gè)DOM替換或更新的位置涂滴,如果不加key友酱,默認(rèn)會(huì)通過索引來,但是索引有一個(gè)缺點(diǎn)柔纵,如果push數(shù)組第一項(xiàng)的時(shí)候缔杉,后面的都會(huì)發(fā)生改變,會(huì)很浪費(fèi)時(shí)間搁料,key就是用來節(jié)約時(shí)間的或详。
15、keep-alive是什么
答:vue自帶的組件郭计,keep-alive會(huì)來緩存組件霸琴,是用來提升性能的。
鉤子:activated是在組件激活狀態(tài)下觸發(fā)的函數(shù)昭伸,deactivated是在組件停止使用下使用的函數(shù)梧乘。keep-alive可以設(shè)置?,屬性值是個(gè)組件名庐杨。
用法:用keep-alive標(biāo)簽包裹組件选调,也可以在路由meta里設(shè)置keepAlive。
20211025
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來徙融,“玉大人洒缀,你說我怎么就攤上這事∑奂剑” “怎么了树绩?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)隐轩。 經(jīng)常有香客問我饺饭,道長(zhǎng),這世上最難降的妖魔是什么职车? 我笑而不...
- 正文 為了忘掉前任瘫俊,我火速辦了婚禮,結(jié)果婚禮上悴灵,老公的妹妹穿的比我還像新娘扛芽。我一直安慰自己,他們只是感情好积瞒,可當(dāng)我...
- 文/花漫 我一把揭開白布川尖。 她就那樣靜靜地躺著,像睡著了一般茫孔。 火紅的嫁衣襯著肌膚如雪叮喳。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼宠哄,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了嗤攻?” 一聲冷哼從身側(cè)響起毛嫉,我...
- 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎妇菱,沒想到半個(gè)月后承粤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體暴区,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年辛臊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了仙粱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布,位于F島的核電站尚胞,受9級(jí)特大地震影響硬霍,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜笼裳,卻給世界環(huán)境...
- 文/蒙蒙 一唯卖、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧躬柬,春花似錦拜轨、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至昧廷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間偎箫,已是汗流浹背木柬。 一陣腳步聲響...
- 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像怜森,于是被迫代替她去往敵國(guó)和親速挑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 1副硅、JS的數(shù)據(jù)類型只有浮點(diǎn)型姥宝,沒有整型。null,underfined,boolean,number,string...
- 0恐疲、底層 Event Loop事件循環(huán):就是一個(gè)執(zhí)行消息隊(duì)列的機(jī)制 宏任務(wù) 微任務(wù)為了解決這種情況腊满,將任務(wù)分為了同...
- undefined , null null是對(duì)象原型鏈的終點(diǎn)笤受,null == undefined undefine...