mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2025-05-28 21:32:20 +00:00
edit function/tco
This commit is contained in:
parent
28b63f2920
commit
715a5fe4dc
@ -1138,7 +1138,7 @@ factorial(5, 1) // 120
|
||||
|
||||
由此可见,“尾调用优化”对递归操作意义重大,所以一些函数式编程语言将其写入了语言规格。ES6也是如此,第一次明确规定,所有ECMAScript的实现,都必须部署“尾调用优化”。这就是说,在ES6中,只要使用尾递归,就不会发生栈溢出,相对节省内存。
|
||||
|
||||
目前,只有开启严格模式,尾调用优化才会生效。
|
||||
注意,只有开启严格模式,尾调用优化才会生效。由于一旦启用尾调用优化,`func.arguments`和`func.caller`这两个函数内部对象就失去意义了,因为外层的帧会被整个替换掉,这两个对象包含的信息就会被移除,所以在严格模式下,这两个对象也是不可用的。
|
||||
|
||||
### 递归函数的改写
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user