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

P13 Vue高頻面試題
1、單向數(shù)據(jù)流
父組件的數(shù)據(jù)可以主動傳遞給子組件,父組件的值一旦發(fā)生改變會再次將數(shù)據(jù)傳遞給子組件,若子組件需要傳值給父組件,可以利用事件的觸發(fā);只能從一個方向去修改
2、雙向數(shù)據(jù)綁定
定義:視圖發(fā)生改變的時候,數(shù)據(jù)也會同步改變,數(shù)據(jù)發(fā)生改變的時候,視圖也會同步改變
3、object.defineProperty的缺點
無法監(jiān)聽 es6的Set、Map的變化、無法監(jiān)聽Class類型的數(shù)據(jù)、數(shù)組中的新增與刪除頁無法監(jiān)聽、屬性的新增與刪除也無法監(jiān)聽
4、對 MVC , MVP , MVVM 的理解
MVC:模型(Model)、視圖(View)和控制器(Controller),用戶操作視圖(View),視圖(View)捕獲到操作之后將權(quán)力給控制器(Controller),控制器(Controller)會對權(quán)力做預(yù)處理,然后再調(diào)用模型(Model)提供的接口,模型(Model)會通過觀察者模式通知視圖(View)
MVVM:提供了雙向數(shù)據(jù)綁定機制,視圖模型(ViewModel)解決了手動關(guān)心視圖(View)與 模型(Model)同步的問題,提供了雙向綁定的機制
MVP:視圖和模型之間的通信是雙向的,但是通過展示者作為中間人進行協(xié)調(diào);視圖將用戶的操作和事件傳遞給展示者,展示者處理這些操作并更新模型的狀態(tài);模型的變化通過展示者傳遞給視圖,然后視圖根據(jù)模型的變化更新顯示
4、vue響應(yīng)式數(shù)據(jù)原理:
vue的響應(yīng)式實現(xiàn)主要利用 object.defineProperty的方法里面的 setter 與 getter 方法的觀察者模式來實現(xiàn)。
proxy的優(yōu)勢:Proxy可以直接監(jiān)聽對象而非屬性,可以直接監(jiān)聽數(shù)組的變化,proxy返回的是一個新對象,我們可以只操作新的對象達到目的, object.defineProperty 只能遍歷對象屬性直接修改
5、對比 jQuery、Vue 有什么不同:
jQuery專注視圖層,通過操作 DOM 去實現(xiàn)頁面的邏輯渲染
Vue專注數(shù)據(jù)層,數(shù)據(jù)驅(qū)動視圖,通過數(shù)據(jù)的雙向綁定,最終表現(xiàn)在 DOM 層,減少 DOM 操作,Vue使用組件化的思想,提高開發(fā)效率,方便復(fù)用,便于協(xié)同開發(fā)