From 3c45b041d53c36d12e0e248d0bb111d76db38fbb Mon Sep 17 00:00:00 2001 From: ruanyf Date: Sat, 30 Mar 2019 20:56:29 +0800 Subject: [PATCH] =?UTF-8?q?docs(function):=20fix=20=E6=96=90=E6=B3=A2?= =?UTF-8?q?=E9=82=A3=E5=A5=91=E6=95=B0=E5=88=97=E7=9A=84=E5=B0=BE=E9=80=92?= =?UTF-8?q?=E5=BD=92=20#835?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/function.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/function.md b/docs/function.md index d83ad6a..aac74df 100644 --- a/docs/function.md +++ b/docs/function.md @@ -1131,8 +1131,8 @@ function Fibonacci (n) { } Fibonacci(10) // 89 -Fibonacci(100) // 堆栈溢出 -Fibonacci(500) // 堆栈溢出 +Fibonacci(100) // 超时 +Fibonacci(500) // 超时 ``` 尾递归优化过的 Fibonacci 数列实现如下。 @@ -1149,7 +1149,7 @@ Fibonacci2(1000) // 7.0330367711422765e+208 Fibonacci2(10000) // Infinity ``` -由此可见,“尾调用优化”对递归操作意义重大,所以一些函数式编程语言将其写入了语言规格。ES6 亦是如此,第一次明确规定,所有 ECMAScript 的实现,都必须部署“尾调用优化”。这就是说,ES6 中只要使用尾递归,就不会发生栈溢出,相对节省内存。 +由此可见,“尾调用优化”对递归操作意义重大,所以一些函数式编程语言将其写入了语言规格。ES6 亦是如此,第一次明确规定,所有 ECMAScript 的实现,都必须部署“尾调用优化”。这就是说,ES6 中只要使用尾递归,就不会发生栈溢出(或者层层递归造成的超时),相对节省内存。 ### 递归函数的改写