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