當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript Generator()用法及代碼示例


在 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 文章


相關用法


注:本文由純淨天空篩選整理自shobhit_sharma大神的英文原創作品 JavaScript Generator() Constructor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。