基于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仍采用从左到右的检测算法
posted @ 2022-04-10 12:10  Vegatable_Bird  阅读(37)  评论(0)    收藏  举报