怎么学前端的项目 创新点 难点函数声明和函数表达式的区别原型this 与其他语言bindconsole.log(String('11')==new String('11'))console.log(String('11')===new String('11'))promise 事件循环 渲染线程闭包 垃圾回收useEffect 依赖 useLayoutEffect useMemo useCallback React还要深入了解```tsxclearupuseLayoutEffectDOMclearupuseEffect```事件冒泡 点父组件子组件会重新渲染嘛**跳台阶**一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)。数据范围:1≤*n*≤40要求:时间复杂度:*O*(*n*) ,空间复杂度:*O*(1)示例1输入:2输出:2说明: 青蛙要跳上两级台阶有两种跳法,分别是:先跳一级,再跳一级或者直接跳两级。因此答案为2复制示例2输入:7输出:21