Generator函式學習

2021-10-08 05:32:04 字數 551 閱讀 2871

例子1

const test = function*(x) ;

const a = test(1);

console.log(a.next()); //3 =x+2=3

console.log(a.next(11)); // 22/3 =2*11/3

console.log(a.next(2)); // 18=3*2*3

console.log(a.next(3)); //31 a+b+c=2*11+3*2+3=31

next引數值是上一步yield的值。

例子2nction* gen(x)

const g=gen(1)

g.next() //

g.next(2)//

g.next() //

第乙個next方法value屬性,返回表示式x+2的值。第二個next帶有引數2,這個引數可以傳入generator函式,作為上階段非同步任務的返回結果,被y接受,因而value返回2(變數y的值)

ES6學習 Generator函式

generator是es6提供的一種非同步程式設計的解決方案。形式上有兩個特徵。一是,function關鍵字和函式名之間有個星號 二是,函式內部使用yield語句,定義不同的內部狀態。function hellogenerator var hw hellogenerator 必須呼叫物件的next方...

ES6學習系列 Generator 函式

generator 總覽 上例項 function testgen let test testgen test.next test.next test.next test.next 遍歷到這裡就結束了 test.next 1 generator 函式返回的遍歷器物件和 iterator 介面的關係 ...

js ES6學習筆記 Generator函式

1 generator 函式是 es6 提供的一種非同步程式設計解決方案。形式上,generator 函式是乙個普通函式,但是有兩個特徵。一是,function關鍵字與函式名之間有乙個星號 二是,函式體內部使用yield語句,定義不同的內部狀態。2 generator函式的呼叫方法與普通函式一樣,也...