js中递归导致的堆栈溢出 发表于 2017-05-23 | 在编程中递归是一个很常见的操作,但在js中使用递归很容易一不小心导致堆栈溢出,原因也很简单,是因为我们最常用的闭包,如下例子 12345678910111213function isEven (num) { if (num === 0) { return true; } if (num === 1) { return false; } return isEven(Math.abs(num) - 2);}isEven(100); 因为递归所以导致每一层的isEven函数都保留了之前所有层的函数空间