js
元方你也玩
这个作者很懒,什么都没留下…
展开
-
什么是闭包,为什么要用闭包?
1)什么是闭包函数执行后返回结果是一个内部函数,并被外部变量所引用,如果内部函数持有被执行函数作用域的变量,即形成了闭包。可以在内部函数访问到外部函数作用域。使用闭包,一可以读取函数中的变量,二可以将函数中的变量存储在内存中,保护变量不被污染。而正因闭包会把函数中的变量值存储在内存中,会对内存有消耗,所以不能滥用闭包,否则会影响网页性能,造成内存泄漏。当不需要使用闭包时,要及时释放内存,可将内层函数对象的变量赋值为null。2)闭包原理函数执行分成两个阶段(预编译阶段和执行阶段)。在预编译阶原创 2022-02-25 16:48:14 · 1884 阅读 · 0 评论 -
多种方式实现斐波那契数列
求斐波那契数列第n项的值1.数学上是以递归的方法来定义F(0) = 0;F(1) = 1;F(n) = F(n - 1) + F(n - 2);2.公式版:递归function fib(n) { if(n < 0) throw new Error('输入的数字不能小于0'); if (n < 2) { return n; } return fib(n - 1) + fib(n - 2);}正常递归版本是一个既简单又直接的逻辑,但是这个版本有个问题就是存原创 2022-02-25 16:22:22 · 289 阅读 · 0 评论