随笔分类 - JavaScript
JavaScript
摘要:递归函数是自己调用自己的函数。 递归函数执行时会形成一个调用记录,当子一层函数代码执行完成之后父一层函数才会销毁调用记录,这就形成了调用栈。栈的叠加可能会产生内存溢出。 n的阶乘 因为尾递归函数每子一层不再需要使用父一层的变量,所以父一层执行完毕就会销毁栈记录,避免了内存溢出节省了内存空间。
阅读全文
摘要:闭包的概念 我的理解是:闭包就是能够从外部读取函数内部变量的函数。函数形式是由外部函数和内部函数组成,内部函数使用着外部函数的变量,把内部函数直接返回给外部。 闭包的写法 直接获取结果 function foo(c){ var num = c; return function A(){ num++;
阅读全文
摘要:1.var变量提升 var是ES5中用于定义变量的保留字。 第3种情况,JS会有一个预编译的过程。实际的过程可以写成下面的代码。这就是var变量的提升。 2. let const 的“暂时性死区(TDZ)” let声明的变量和var声明变量十分相似,但是let不会提升变量,会存在TDZ。 不存在变量
阅读全文

浙公网安备 33010602011771号