——持续更新

bykj

tcp 三次握手说一下

设置image 图片和背景颜色哪个优先显示
答:图片显示在上面,背景颜色会填充

区别:display: none;opacity: 0; visibility: hidden;
答:https://www.cnblogs.com/jing-tian/p/10969109.html

apply call bind 区别?
答:
都是用来改变函数的this对象的指向的;第一个参数都是this要指向的对象;
都可以利用后续参数传参;apply 第二个参数是数组 call 一个个单独写的;
bind是返回对应函数,便于稍后调用,apply、call是立即调用;
bind()是es5中的方法,他也是用来实现上下文绑定,看它的函数名就知道。bind()和call与apply不同。bind是新创建一个函数,然后把它的上下文绑定到bind()括号中的参数上,然后将它返回。
所以,bind后函数不会执行,而只是返回一个改变了上下文的函数副本,而call和apply是直接执行函数。

foreach map 区别?
答:forEach不会返回新的数组,而是在原数组的基础上改变数组,可以用于数组的修改;
本身无法跳出循环,必须遍历所有的数据才能结束;如何跳出循环?return 跳出当前循环, throw new Error() 跳出循环
map 不改变原数组,会将处理过的数据组成一个新的数组
filter 不会改变原数组,但是也会将满足条件的元素组成印个新的数组,return出来
map和filter的区别主要在于,当过滤而不是改变的时候,map return的是一个盛放布尔值的数组
every不是过滤也不是进行处理,也不会生成新的数组,他是对数组中的每一个元素进行判断
每一个元素都满足要求就返回true,只要有一个不满足就返回false
some和every一样不是过滤也不是进行处理,也不会生成新的数组,他是对数组中的每一个元素进行判断
但是只要有一个元素满足要求就返回true,都不满足就返回false
find findIndex reduce

判断是否是数组?
答:使用isArray()方法;a instanceof Array

react 生命周期?
componentWillMount
componentDidMount
componentWillReceiveProps
shouldComponentUpade
componentWillUpdate
componentDidUpdate
componentWillUnmount

为什么不在componentWillMount里面初始化函数
答:如果在这里有异步需要处理,渲染内容,会中断,可能多次请求
这个每个项目的实践不一样吧,有的人喜欢在willMount里面初始化内容有的人不喜欢。

  1. 如果初始化内容的时候需要操作dom节点,那肯定只能在didMount
  2. 如果需要需要等待请求返回才能渲染。并且willMount中await了请求,会阻碍页面渲染。空白状态不太友好。didMount中就可以处理请求前后以及请求中的页面。
  3. 如果使用ssr。componnetWillMount在server端也会调用,但是server端不需要发请求获取数据。
  4. 自从react 16,3以后引入了async render https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html,componentWillMount变成unsafe 的lifecycle,并且会在17.0完全移除

react 渲染很多数据如果不写key 会发生什么?
答:可能会很卡,没有标记key虚拟dom 不会计算,每条数据增加进来都会重新渲染;

受控组件非受控组件?
受控组件 只有setState 才会执行render
非受控组件

antd 表单用过哪些?
自由发挥

webstorage 了解吗?

redux 数据流讲一下?


image.png

用户通过出发 store.dispatch(action);
然后,Store 自动调用 Reducer,并且传入两个参数:当前 State 和收到的 Action。 Reducer 会返回新的 State 。
let nextState = todoApp(previousState, action);
State 一旦有变化,Store 就会调用监听函数。// 设置监听函数store.subscribe(listener);
listener可以通过store.getState()得到当前状态。如果使用的是 React,这时可以触发重新渲染 View。
function listerner() {
let newState = store.getState();
component.setState(newState);
}

你可能感兴趣的:(——持续更新)