mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2024-04-21 12:32:22 +00:00
edit class/decorator
This commit is contained in:
+14
-2
@@ -674,7 +674,7 @@ function f(x){
|
||||
|
||||
上面代码中,函数f的最后一步是调用函数g,这就叫尾调用。
|
||||
|
||||
以下两种情况,都不属于尾调用。
|
||||
以下三种情况,都不属于尾调用。
|
||||
|
||||
```javascript
|
||||
// 情况一
|
||||
@@ -687,9 +687,21 @@ function f(x){
|
||||
function f(x){
|
||||
return g(x) + 1;
|
||||
}
|
||||
|
||||
// 情况三
|
||||
function f(x){
|
||||
g(x);
|
||||
}
|
||||
```
|
||||
|
||||
上面代码中,情况一是调用函数g之后,还有别的操作,所以不属于尾调用,即使语义完全一样。情况二也属于调用后还有操作,即使写在一行内。
|
||||
上面代码中,情况一是调用函数g之后,还有别的操作,所以不属于尾调用,即使语义完全一样。情况二也属于调用后还有操作,即使写在一行内。情况三等同于下面的代码。
|
||||
|
||||
```javascript
|
||||
function f(x){
|
||||
g(x);
|
||||
return undefined;
|
||||
}
|
||||
```
|
||||
|
||||
尾调用不一定出现在函数尾部,只要是最后一步操作即可。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user