1. 程式人生 > 其它 >基於TOP-K的面試題解總結(6)

基於TOP-K的面試題解總結(6)

27.Javascript 中 == 與 === 的區別是什麼?
  • ==:
    • 兩個值型別相同就進行===比較
    • 型別不相同,就通過型別轉換之後再進行比較
  • ===
    • 嚴格相等,不進行型別轉換
    • null===null
    • undefined===undefined
  28.深拷貝與淺拷貝區別是什麼?
  • 淺拷貝:
    • 對於基本資料型別,會拷貝其實際值
    • 對於引用型別,會拷貝其地址的索引值,若其他引用變數修改了此地址資料的值,則其他引用該地址的變數也會改變
  • 深拷貝:
    • 淺拷貝+巢狀輪詢實現
    • 對於基本資料直接拷貝其實際數值
    • 對於引用型別,會通過地址找到指向的物件再次進行深拷貝
  29.簡述 Javascript 的柯里化與逆柯里化
  • 柯里化:也叫部分求值,將多引數的方法轉化為只傳遞給函式一部分引數來呼叫它,讓它返回一個新函式去處理剩下的引數的方法
  • 逆柯里化:柯里化的逆過程,擴大函式的適用範圍
  30.簡述 Vue 和 React 的區別
  • 模式不同:
    • Vue屬於MVVM模式,即Model、View、ModelView層
    • React屬於MVC的view層
  • 虛擬DOM不同:
    • Vue會跟蹤每一個元件的依賴並精準更新,不需要重新渲染整個元件樹
    • React每當應用狀態被改變時,全部元件都會重新渲染
  • 元件寫法不同:
    • React推薦把元件HTML+CSS寫進JS中
  • 資料繫結:
    • Vue實現資料雙向繫結
    • React資料流動是單向的
  • diff演算法不同:
    • Vue在相同層採用從兩邊同時進行匹配檢測相同節點
    • React仍採用從左到右的檢測演算法