1
A
回答
1
从here
带*标记的函数被称为发电机功能。所述 以下两个一元运算符只允许在发电机功能的直接身体 (即,在体内,但不嵌套在 另一功能):
AssignmentExpression:
...
YieldExpression
YieldExpression:
"yield" ("*"? AssignmentExpression)?
早期引发错误如果收益率或收益率*表达式发生在非生成器函数 中。
11
从ES6开始,它将定义一个generator function。 (该链接到老“和谐”维基页面,这可能不再是跟上时代的,因为这已经被折叠成latest specification drafts;目前是14.4节。)
这里有一台发电机的例子:
function* fibonacci() {
let [prev, curr] = [0, 1];
for (;;) {
[prev, curr] = [curr, prev + curr];
yield curr;
}
}
各种方式来使用:
随着for-of
环(另一ES6的事情,第13.6.4):
for (n of fibonacci()) {
// truncate the sequence at 1000
if (n > 1000)
break;
print(n);
}
作为一个迭代器:
let seq = fibonacci();
print(seq.next()); // 1
print(seq.next()); // 2
print(seq.next()); // 3
print(seq.next()); // 5
print(seq.next()); // 8
+0
哦,一个ES6功能。甜。 – BoltClock
相关问题
- 1. 星号*在函数声明中的含义是什么?
- 2. “function *()”在nodejs中的含义是什么?
- 3. “:: function()”在cpp中的含义是什么?
- 4. 在R中,如果不定义函数,function()是什么意思?
- 5. 在wordpress“function&get_post”中定义这样的函数的含义
- 6. 符号的函数定义为void:declare-function
- 7. 双星号在proguard规则中的含义是什么?
- 8. *星号在mysql语句中的含义是什么?
- 9. 冒号在构造函数中的含义是什么?
- 10. 函数定义中“... args”(三个点)的含义是什么?
- 11. rspec输出中星号的含义是什么
- 12. 这个SPARQL查询中星号的含义是什么?
- 13. *(星号)在CSS声明前的含义是什么?
- 14. Fortran子程序参数列表中的星号*符号的含义是什么?
- 15. R函数()中美元符号“$”的含义是什么?
- 16. 属性定义中括号的含义是什么?
- 17. app.get('/',function(){...})中的正斜杠的含义是什么?在express.js?
- 18. 什么是星号(*)指的是Android的XML资源时的含义是什么?
- 19. 为什么流星模板onRendered Function中的'this'未定义?
- 20. Python中“|”符号的含义是什么?
- 21. Swift中'@'符号的含义是什么?
- 22. jQuery中符号$的含义是什么?
- 23. TCL中“@”符号的含义是什么?
- 24. PHP中符号的含义是什么
- 25. cshtml中'@'符号的含义是什么?
- 26. GDB中@符号的含义是什么?
- 27. PexSymbolicValue.GetRawPathConditionString()中符号的含义是什么?
- 28. JavaScript中'#'符号的含义是什么?
- 29. 在JavaScript中,“(function(window,undefined){})(window)”的含义是什么?
- 30. 什么是key123包含的或在JavaScript函数中的含义
什么或者是这个 “其他一些js代码”? – BoltClock
也许[this](http://www.reddit.com/r/javascript/comments/1xpa6q/generator_functions_whats_the_difference_between/)回答你的问题? – maximilianus
也http://stackoverflow.com/a/22004108/1903116 – thefourtheye