中国网安一面

95 阅读1分钟

1.jsx是什么

jsx是javascript xml的缩写,是 React.createElement() 函数的语法糖,createElement() 对参数进行拆解后,发起 ReactElement 调用生成虚拟 DOM 对象。

之所以要使用,是因为这样编码更纯净,更具有可读性,更贴近 HTML

2. 如何减少rerender

3.react常见的hook有哪些,分别介绍下

4.useEffect模拟了哪几个生命周期

  • 模拟componentDidMount  -  useEffect 依赖 [ ]
  • 模拟compenentDidUpdate - useEffect 无依赖 ,或者 依赖 [a,b,c]
  • 模拟componentWillUnMount - useEffect 中返回一个函数

5.forEach的第三个参数

forEach第三个参数是调用forEach的数组本身

6.toFixed会不会四舍五入

在chrome中,会五舍六入

7.for in和for of各是什么作用

  • for in 和 for of 都可以循环数组,for in 输出的是数组的index下标,而for of 输出的是数组的每一项的值
  • for in 可以遍历对象,for of 不能遍历对象

8.斐波那契额函数如何写,时间复杂度是多少,如何优化

  • 递归实现,时间复杂度是2的n次方
  • 由于f(n)=f(n-1)+f(n-2),f(n-1)=f(n-2)+f(n-3)这样会导致f(n-2)、f(n-3)、f(n-4)等被重复计算,所以可以将这个值通过map进行缓存,每次先去找缓存的值,如果找到则不进行递归。这样时间复杂度是O(n)

9.bind、call、apply的区别

10.数组如何去重