站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

es6中yield是什么意思

在es6中,yield是生成器用來內(nèi)部暫停本身運(yùn)行的關(guān)鍵字;yield后面跟一個(gè)生成器函數(shù)或者其他可迭代的對象,yield表達(dá)式的返回值,就是其后面可迭代對象迭代完畢時(shí)的返回值,語法為“function*gen(){yield表達(dá)式}”。

es6中yield是什么意思

本教程操作環(huán)境:windows10系統(tǒng)、ECMAScript 6.0版、Dell G3電腦。

es6中yield是什么意思

yield是ES6中的Generator(生成器)用來內(nèi)部暫停本身運(yùn)行的關(guān)鍵字。

請注意“內(nèi)部”一詞,生成器函數(shù)并不能由外部邏輯暫停,只能由本身通過yield暫停。

yield關(guān)鍵字后可以跟隨變量,也可以單獨(dú)使用。如果yield后面跟隨變量(我們可以稱之為yield表達(dá)式),生成器函數(shù)暫停后再次恢復(fù)運(yùn)行時(shí),傳入的參數(shù)作為整體yield表達(dá)式的值參與后續(xù)的邏輯運(yùn)算;

當(dāng)yield后不跟隨變量,單獨(dú)使用的yield僅僅是作為暫停生成器函數(shù)使用,生成器恢復(fù)運(yùn)行后被傳入的參數(shù)作為yield的值參與后續(xù)運(yùn)算。

舉例

第 1 步,構(gòu)造一個(gè)生成器函數(shù)。

function* numbers () {      yield 1;      yield 2;          return 'numbers';  }

第 2 步,在上述生成器函數(shù)外層做一個(gè)代理。

function* delegate () {      var str = yield* numbers();      console.log(str);            yield 3;      return 'delegate'; }

第 3 步,構(gòu)造迭代器。

var iterator = delegate();

第 4 步,輸出迭代結(jié)果。

 /**   * 第一次輸出結(jié)果   * { value: 1, done: false }   */  console.log(iterator.next()) // 第一次輸出    /**   * 第二次輸出結(jié)果   * { value: 2, done: false }   */  console.log(iterator.next()) // 第二次輸出    /**   * 第三次輸出結(jié)果   * numbers   * { value: 3, done: false }   */  console.log(iterator.next()) // 第三次輸出    /**   * 第四次輸出結(jié)果   * { value: 'delegate', done: true }   */  console.log(iterator.next()) // 第四次輸出

輸出結(jié)果描述

第三次輸出時(shí),輸出兩行內(nèi)容。第一行內(nèi)容為 delegate 函數(shù)中 console.log(str) 輸出的,值為 numbers 函數(shù)的返回值。

第四次輸出時(shí),輸出一行內(nèi)容,其中的 value 值為 delegate 函數(shù)的返回值。此時(shí),done 屬性為 true。

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
AV天堂午夜精品一区二区三区| 91麻豆精品福利在线观看| 无码精品人妻一区二区三区免费 | 国产精品国产三级国产专播下| 3atv国产精品视频| 精品无码国产自产在线观看水浒传| 99精品视频在线免费观看| 午夜精品一区二区三区免费视频| 亚洲热线99精品视频| 思思久久精品在热线热| 国产亚洲精品无码拍拍拍色欲| 精品99又大又爽又硬少妇毛片 | 青青青在线观看国产精品| 国产精品久久成人影院| 国产精品久久久久久福利69堂| 91亚洲国产成人精品下载| 精品亚洲成a人片在线观看| 精品无码人妻夜人多侵犯18| 精品视频一区二区三三区四区| 91在线手机精品免费观看| 97福利视频精品第一导航| 精品一区二区三区四区在线播放| 亚洲精品亚洲人成在线观看麻豆 | 久久精品国产一区二区三区日韩| 日韩精品在线观看视频| 99无码精品二区在线视频| 久久亚洲精品AB无码播放| 亚洲av午夜福利精品一区| 国产精品对白交换视频| 亚洲av永久无码精品秋霞电影影院| 久久国产精品99久久久久久老狼 | 亚洲AV午夜福利精品一区二区| 国产精品三级国产电影| 久久一区二区精品| 青青草原精品99久久精品66| 精品亚洲麻豆1区2区3区| 精品久久久久久中文字幕大豆网| 国产精品99久久久久久人| 亚洲av永久无码精品网址| 精品久久中文字幕有码| 四库影院永久在线精品|