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)