在 JavaScript 中,沒有特定的 Generator() 構造函數,但我們可以使用生成器函數聲明來構造一個可迭代的 Generator 對象,因為 Generator 對象是 Iterable 類的子類。生成器通常用於創建可以退出和重新進入的函數。
用法:
function* gen(){ // Sample Code } let example = gen();
示例 1:此示例創建一個生成器對象。
Javascript
function* gen(){
let i = "a"
yield i;
yield i+"b";
}
let example = gen();
console.log(typeof(example))
console.log(example.next().value);
console.log(example.next().value);
輸出:當我們檢查示例的類型時,我們將對象作為輸出,因為沒有內置的 Generator 對象
object a ab
示例 2:此示例創建一個無限生成器對象。
Javascript
function* gen(){
let i = 123
while(true){
yield i++;
}
}
let example = gen();
for(let i = 0; i<5; i++) {
console.log(example.next().value);
}
輸出:我們可以根據需要盡可能多地迭代這個生成器函數,因為它始終保持 true。
123 124 125 126 127
支持的瀏覽器:
- Chrome
- 邊
- Firefox
- Opera
- Safari
我們有 JavaScript 生成器方法的完整列表,要檢查這些方法,請閱讀 JavaScript Generator Reference 文章
相關用法
- JavaScript Generator.prototype.throw()用法及代碼示例
- JavaScript Generator.prototype.next()用法及代碼示例
- JavaScript Generator.prototype.return()用法及代碼示例
- JavaScript Generator throw()用法及代碼示例
- JavaScript Generator next()用法及代碼示例
- JavaScript Generator return()用法及代碼示例
- JavaScript Math cosh()用法及代碼示例
- JavaScript Math sinh()用法及代碼示例
- JavaScript Math sin()用法及代碼示例
- JavaScript Math cos()用法及代碼示例
- JavaScript Math tan()用法及代碼示例
- JavaScript Math abs()用法及代碼示例
- JavaScript Math pow()用法及代碼示例
- JavaScript Math asin()用法及代碼示例
- JavaScript Math acos()用法及代碼示例
- JavaScript Math atan()用法及代碼示例
- JavaScript Math ceil()用法及代碼示例
- JavaScript Math floor()用法及代碼示例
- JavaScript Math round()用法及代碼示例
- JavaScript Math trunc()用法及代碼示例
- JavaScript Math max()用法及代碼示例
- JavaScript Math min()用法及代碼示例
- JavaScript Math sqrt()用法及代碼示例
- JavaScript Math sign()用法及代碼示例
- JavaScript Math log()用法及代碼示例
注:本文由純淨天空篩選整理自shobhit_sharma大神的英文原創作品 JavaScript Generator() Constructor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。