近期前端面试题目(四)

23 篇文章 0 订阅
5 篇文章 0 订阅

1、说下BFC

2、虚拟DOM优缺点,diff算法

3、forEach如何中止循环

4、说下es6 let var const 、es6数组新增的方法有哪些

5、react中setState是同步还是异步的

是否是同步更新的,取决于其执行环境。
setState 只在合成事件和生命周期函数中是“异步”的,在原生事件和 setTimeout 中都是同步的。
合成事件:就是react 在组件中的onClick等都是属于它自定义的合成事件
原生事件:比如通过addeventListener添加的,dom中的原生事件

setState的“异步”并不是说内部由异步代码实现,其实本身执行的过程和代码都是同步的
只是合成事件和钩子函数的调用顺序在更新之前,导致在合成事件和钩子函数中没法立马拿到更新后的值
形式了所谓的“异步”,当然可以通过第二个参数 setState(partialState, callback) 
中的callback拿到更新后的结果。
setState 的批量更新优化也是建立在“异步”(合成事件、钩子函数)之上的
在原生事件和setTimeout 中不会批量更新,在“异步”中如果对同一个值进行多次 setState
setState 的批量更新策略会对其进行覆盖,取最后一次的执行
如果是同时 setState 多个不同的值,在更新时会对其进行合并批量更新。

6、说下重绘、回流

7、如何实现节流防抖

8、如何实现左边固定宽度、右边自适应

9、普通函数和箭头函数区别

箭头函数有几个使用注意点。

(1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。

(2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。

(3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。

(4)不可以使用yield命令,因此箭头函数不能用作 Generator 函数。

上面四点中,第一点尤其值得注意。this对象的指向是可变的,但是在箭头函数中,它是固定的。

10、讲下闭包、闭包用途

11、

12、

//    4 1 3 6 2 5

13、项目中封装过什么常用的公共组件

14、promise实现原理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值