千鋒教育web前端高頻面試題視頻教程,kerwin大話前端面試秘籍(附答案)

1.路由懶加載: 一種優(yōu)化網(wǎng)頁(yè)性能的技術(shù),可以顯著提升網(wǎng)頁(yè)加載速度。
2.插槽:默認(rèn)、具名插槽
相當(dāng)于預(yù)留一個(gè)位置,將組件內(nèi)容放入,寫一個(gè)插槽就會(huì)將組件內(nèi)容替換一次,可以自定義名字,根據(jù)插槽名插入內(nèi)容
3.vue和react中diff算法
是一種通過(guò)樹節(jié)點(diǎn)進(jìn)行比較的高效算法,避免了對(duì)數(shù)進(jìn)行逐層搜索遍歷
1)做同級(jí)比較,不會(huì)跨級(jí)比較
2)diff比較過(guò)程中,循環(huán)從兩邊向中間收攏
vue:類名不同,也會(huì)認(rèn)為不同,會(huì)被替換
react:div相同,類名不同,認(rèn)為是相同節(jié)點(diǎn)
4.vue組件為什么data是函數(shù)
每次復(fù)用組件,返回一個(gè)新data,相當(dāng)于創(chuàng)建一個(gè)私有的數(shù)據(jù)空間,讓每個(gè)組件維護(hù)各自數(shù)據(jù),如果是對(duì)象,就會(huì)使得所有組件實(shí)例共用一個(gè)data,會(huì)造成一個(gè)改變?nèi)紩?huì)改變的結(jié)果
5.vue組件通信
1)props和$emit:父向子通過(guò)props,子向父通過(guò)$emit
2)$attrs和$listeners:跨層級(jí),多個(gè)父組件,子組件
3)provide和inject:可跨級(jí),父組件通過(guò)provide提供變量,子組件inject來(lái)注入變量
4)中央事件總線eventbus:不太復(fù)雜的(原理:發(fā)布者訂閱模式)
5)$parent和$children
6)vuex:狀態(tài)管理工具,任何組件中隨時(shí)使用,不需要考慮層級(jí)關(guān)系
7)v-model:父組件通過(guò)v-model傳值給子組件,會(huì)自動(dòng)傳遞一個(gè)value的prop屬性,在子組件中通過(guò)this.$emit('input',val)自動(dòng)修改v-model綁定的值
8)boradcast和dispatch(訂閱發(fā)布的變形)