前端面试题整理(一)
1、redux原理
store是管理全局状态的,视图可以获取到store的状态,视图产生用户操作后会调用actionCreator的方法来生成一个action,将其dispatch派发给store
store会将当前的状态和此次的action交给reducer处理,reducer处理后需要返回新的状态,此时store就能得知数据的变化,然后回通知视图获取最新的数据
2、深拷贝方法及缺点
(1)使用递归实现的方式
代码逻辑复杂,性能差
(2)使用JSON的stringify和parse
1.对象中的方法属性会丢失
2.对象中值为undefined的属性会丢失
3.对象中有正则表达式、Error对象,则序列化结果将只得到空对象
4.对象中有NaN、infinity、和-infinity,则序列化的结果会变成null
(3)使用jquery中的extend属性
1.需要引用jQuery库
2.无法拷贝 对象中值为undefined的属性
(4)lodash中深拷贝
是递归方法分装,需要引入一个lodsh包
3、伪元素和伪类的区别
伪元素 : :after :before : selection :first-line
伪类: :link :visited :hover :active