基于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仍采用从左到右的检测算法

浙公网安备 33010602011771号