2018-01-26 js尾调用

2018-01-26  本文已影响0人  __Seve

1.在js中使用递归的时候,有可能会栈溢出,因为浏览器调用栈有上限限制,具体可以用以下代码测出当前浏览器所能用的最大栈的数量

var i = 0;
function recursiveFn () {
          i++;
          recursiveFn();
}

try {
        recursiveFn(); 4
} catch (ex) {
      alert('i = ' + i + ' error: ' + ex);
}

2.但是当我们确实有需要用到递归的时候有没有更好的解决办法呢,其实是有的,es6中的一个特性-尾递归就可以很好的解决这个问题,

原理

上一篇下一篇

猜你喜欢

热点阅读