Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Update function.md
  • Loading branch information
bilibiliou committed May 23, 2016
commit 1e1ea908ffaf0b11229988c9ddd288e7e2511f0d
6 changes: 3 additions & 3 deletions docs/function.md
Original file line number Diff line number Diff line change
Expand Up @@ -1221,9 +1221,9 @@ function Fibonacci2 (n , ac1 = 1 , ac2 = 1) {
return Fibonacci2 (n-1 , ac2 , ac1 + ac2);
}

console.log(Fibonacci2(100)) // 354224848179262000000
console.log(Fibonacci2(1000)) // 4.346655768693743e+208
console.log(Fibonacci2(10000)) // Infinity
Fibonacci2(100) // 354224848179262000000
Fibonacci2(1000) // 4.346655768693743e+208
Fibonacci2(10000) // Infinity
```

由此可见,“尾调用优化”对递归操作意义重大,所以一些函数式编程语言将其写入了语言规格。ES6也是如此,第一次明确规定,所有ECMAScript的实现,都必须部署“尾调用优化”。这就是说,在ES6中,只要使用尾递归,就不会发生栈溢出,相对节省内存。
Expand Down