欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

ES6中生成器函數(shù)的示例分析

這篇文章主要介紹了ES6中生成器函數(shù)的示例分析,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)建站是一家專業(yè)提供吳堡企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、成都做網(wǎng)站、HTML5建站、小程序制作等業(yè)務(wù)。10年已為吳堡眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。

概述

其實(shí)前幾章我都不知道怎么寫,因?yàn)樗麄兛偸巧婕暗揭恍┍容^深的東西,比如可迭代對(duì)象、生成器、迭代器之類的東西,等寫完這個(gè)系列,再好好整理一下這些東西可能會(huì)好一點(diǎn),現(xiàn)在整理到哪兒就寫到哪兒吧

語(yǔ)法

function* name([param[, param[, ... param]]])
{ 
    statements 
}

使用function*作為聲明標(biāo)識(shí)符,表示這是一個(gè)生成器函數(shù)

name是函數(shù)名

param是參數(shù)名,可以255個(gè)

statements是函數(shù)體

特點(diǎn)

生成器函數(shù)在執(zhí)行的時(shí)候是可以暫停的,需要的時(shí)候再繼續(xù)執(zhí)行

生成器函數(shù)返回的是一個(gè)迭代器對(duì)象,不會(huì)立即執(zhí)行

生成器函數(shù)可以使用return,但是return之后將不可再迭代

栗子-無(wú)限id增長(zhǎng)器

function* idMaker(begin=0){
  while(true)
    yield begin++;
}
let maker=idMaker(0)
console.log(maker.next().value) // 0
console.log(maker.next().value) // 1
console.log(maker.next().value) // 2
console.log(maker.next().value) // 3
...

說(shuō)明:

調(diào)用生成器函數(shù)返回的是一個(gè)迭代器,迭代器是一個(gè)滿足迭代器協(xié)議的對(duì)象,簡(jiǎn)單的說(shuō),迭代器對(duì)象有一定有一個(gè)next函數(shù),該函數(shù)返回一個(gè)對(duì)象,我們稱之為迭代結(jié)果對(duì)象,該對(duì)象包含以下兩個(gè)屬性:

  1. value:本次迭代的結(jié)果

  2. done:布爾值,如果為true,表示無(wú)法再繼續(xù)迭代,如果為false,表示可以繼續(xù)迭代。

調(diào)用next函數(shù),將會(huì)讓生成器函數(shù)真正的執(zhí)行,一直執(zhí)行,直到遇見yield,并返回迭代結(jié)果對(duì)象

栗子-有限id增長(zhǎng)器

function* idMaker(begin=0){
  while(begin<3)
    yield begin++;
}
let maker=idMaker(0)
console.log(maker.next()) // {value: 0, done: false}
console.log(maker.next()) // {value: 1, done: false}
console.log(maker.next()) // {value: 2, done: false}
console.log(maker.next()) // {value: undefined, done: true}

如果函數(shù)執(zhí)行完成了,那么done就自動(dòng)變成true

next接收參數(shù)

function *createIterator() {
    let first = yield 1;
    let second = yield first + 2; // 4 + 2 
                                  // first =4 是next(4)將參數(shù)賦給上一條的
    yield second + 3;             // 5 + 3
}

let iterator = createIterator();

console.log(iterator.next());    // "{ value: 1, done: false }"
console.log(iterator.next(4));   // "{ value: 6, done: false }"
console.log(iterator.next(5));   // "{ value: 8, done: false }"
console.log(iterator.next());    // "{ value: undefined, done: true }"

這個(gè)解釋起來(lái)挺麻煩,第一次調(diào)用iterator.next(),返回1,代碼停在了yield 1,但是我們將yield 1的結(jié)果保存在了first變量中,其實(shí)這個(gè)操作是沒有發(fā)生的,當(dāng)我們第二次執(zhí)行iterator.next(4),注意這里傳遞了一個(gè)參數(shù)4,此時(shí)會(huì)把4當(dāng)做yield 1的返回值,賦值給first,所以第二次執(zhí)行可以看做是let first=4的這么一個(gè)執(zhí)行順序。

return

function* yieldAndReturn() {
  yield "1";
  return "2";
  yield "3"; 
}
var gen = yieldAndReturn()
console.log(gen.next()); // { value: "1", done: false }
console.log(gen.next()); // { value: "2", done: true }
console.log(gen.next()); // { value: undefined, done: true }

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享ES6中生成器函數(shù)的示例分析內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!

當(dāng)前文章:ES6中生成器函數(shù)的示例分析
當(dāng)前URL:http://aaarwkj.com/article24/pcodce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃ChatGPT、企業(yè)網(wǎng)站制作、自適應(yīng)網(wǎng)站網(wǎng)站導(dǎo)航、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開發(fā)
日韩欧美精品另类在线| 九月丁香花开综合网| av剧情免费在线观看| 视频免费观看网站不卡| 国产精品三级一区二区三区| 日韩传媒在线观看视频| 精品熟女少妇av免费观看| 麻豆乱淫一区二区三爱免费| 日韩精品在线观看不卡| 国产又粗又爽视频免费| 久久国产麻豆精品电影| 一级黄片一区二区三区| 亚洲最大成人综合福利网| 欧美高清成人一区二区三区| 国产特级黄色片免费看| 亚洲一区制服无码中文| 亚洲天堂av福利在线观看| 国产av一区二区三区高潮蜜| 久久麻豆精亚洲av品国产一区| 免费在线黄色生活大片| 日韩中文字幕乱码卡一| 亚洲中文字幕av每天更新| 蜜臀av中文字幕在线| 偷窥偷拍视频一区二区| 午夜性色福利在线播放| 亚洲成人大片免费在线观看| 国产亚洲精品福利视频| 日本欧美一区二区三区高清| 欧美日韩免费高清视视频| 欧美中文字幕在线精品 | 日本最新一区二区三区视频| 成人黄色暖暖韩日视频| 成人黄色av免费在线观看| 调教亚洲另类唯美第二页| 午夜体内射精免费视频| 日韩国产欧美色资源在线| 久草免费福利视频资源站| 亚洲av色网在线观看| 亚洲精品中文字幕日本乱码| 欧美日韩亚洲国产精品视频| 国产成人精品免费视频大|