最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中 ES6 generator數(shù)據(jù)類型詳解

 更新時(shí)間:2016年08月11日 15:08:49   作者:fangfan  
generator 是ES6引入的新的數(shù)據(jù)類型,由function* 定義, (注意*號(hào)),接下來(lái)通過(guò)本文給大家介紹js中 ES6 generator數(shù)據(jù)類型,非常不錯(cuò),感興趣的朋友一起學(xué)習(xí)吧

1. generator簡(jiǎn)介

generator 是ES6引入的新的數(shù)據(jù)類型, 看上去像一個(gè)函數(shù),除了使用return返回, yield可以返回多次。

generator 由function* 定義, (注意*號(hào)),

2. 示例

函數(shù)無(wú)法保存狀態(tài), 有時(shí)需要全局變量來(lái)保存數(shù)字;

2.1

'use strict';
function next_id(){
var id = 1;
while(id<100){
yield id;
id++;
}
return id;
}
// 測(cè)試:
var
x,
pass = true,
g = next_id();
for (x = 1; x < 100; x ++) {
if (g.next().value !== x) {
pass = false;
alert('測(cè)試失敗!');
break;
}
}
if (pass) {
alert('測(cè)試通過(guò)!');
} 

2.2 一個(gè)無(wú)限循環(huán)的迭代器

function* idMaker(){
var index = 0;
while(true)
yield index++;
}
var gen = idMaker(); // "Generator { }"
console.log(gen.next().value); // 0
console.log(gen.next().value); // 1
console.log(gen.next().value); // 2 

2.3Generator.prototype.next()

當(dāng)?shù)Y(jié)束時(shí), Generator.next().done ===true, 結(jié)束之前 ===false

function* gen() { 
yield 1;
yield 2;
yield 3;
}
var g = gen(); // "Generator { }"
g.next(); // "Object { value: 1, done: false }"
g.next(); // "Object { value: 2, done: false }"
g.next(); // "Object { value: 3, done: false }"
g.next(); // "Object { value: undefined, done: true }" 

2.4 Generator.prototype.return();

return方法 返回給定的參數(shù)值,并結(jié)束迭代器

example

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

注意 如果 done的值是true了, 再調(diào)用return,返回的值也是undefined

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

2.5 Generator.prototype.throw()

thorw()方法, 通過(guò)拋出一個(gè)異常到迭代器中,來(lái)重新獲得迭代器的執(zhí)行;

返回 帶有 value和done兩個(gè)屬性的object對(duì)象

function* gen() {
while(true) {
try {
yield 42;
} catch(e) {
console.log("Error caught!");
}
}
}
var g = gen();
var a = g.next();
// { value: 42, done: false }
var b = g.throw(new Error("Something went wrong"));
// "Error caught!"
// { value: 42, done: false }
console.log(a);
console.log(b.value+"::"+b.done);

以上所述是小編給大家介紹的JavaScript中 ES6 generator數(shù)據(jù)類型詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 微信小程序?qū)崿F(xiàn)上傳照片代碼實(shí)例解析

    微信小程序?qū)崿F(xiàn)上傳照片代碼實(shí)例解析

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)上傳照片代碼實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 微信小程序后端無(wú)法保持session的原因及解決辦法問(wèn)題

    微信小程序后端無(wú)法保持session的原因及解決辦法問(wèn)題

    這篇文章主要介紹了微信小程序后端無(wú)法保持session的原因及解決辦法問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 微信小程序自定義tab實(shí)現(xiàn)多層tab嵌套功能

    微信小程序自定義tab實(shí)現(xiàn)多層tab嵌套功能

    微信小程序非?;鸨?,今天腳本之家小編給大家?guī)?lái)的微信小程序自定義tab實(shí)現(xiàn)多層tab嵌套功能以及項(xiàng)目中遇到的問(wèn)題及解決方法,感興趣的朋友一起看看吧
    2018-06-06
  • 微信小程序wxml列表渲染原理解析

    微信小程序wxml列表渲染原理解析

    這篇文章主要介紹了微信小程序wxml列表渲染原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • JavaScript中的return語(yǔ)句簡(jiǎn)單介紹

    JavaScript中的return語(yǔ)句簡(jiǎn)單介紹

    return語(yǔ)句在js中起到舉足輕重的作用,該關(guān)鍵字不僅具有返回函數(shù)值得功能,還具有一些特殊的用法,有個(gè)清晰的把握是非常有必要的,下面通過(guò)本篇文章給大家簡(jiǎn)單介紹下return語(yǔ)句的作用
    2015-12-12
  • 詳解JavaScript修改注冊(cè)表的方法

    詳解JavaScript修改注冊(cè)表的方法

    這篇文章主要介紹了詳解JavaScript修改注冊(cè)表的方法,本實(shí)例主要通過(guò)WshShell 對(duì)象的相關(guān)方法實(shí)現(xiàn),需要的朋友可以參考下
    2020-01-01
  • 輕松玩轉(zhuǎn)BootstrapTable(后端使用SpringMVC+Hibernate)

    輕松玩轉(zhuǎn)BootstrapTable(后端使用SpringMVC+Hibernate)

    這篇文章主要和大家輕松玩轉(zhuǎn)BootstrapTable,后端使用SpringMVC+Hibernate,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 原生JS實(shí)現(xiàn)滑動(dòng)按鈕效果

    原生JS實(shí)現(xiàn)滑動(dòng)按鈕效果

    這篇文章主要為大家詳細(xì)介紹了原生JS實(shí)現(xiàn)滑動(dòng)按鈕效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • javascript 對(duì)象數(shù)組根據(jù)對(duì)象object key的值排序

    javascript 對(duì)象數(shù)組根據(jù)對(duì)象object key的值排序

    本文僅僅是實(shí)現(xiàn)了javascript 對(duì)象數(shù)組根據(jù)對(duì)象object key的值排序,算是對(duì)自己學(xué)習(xí)javascript這么久的一個(gè)小結(jié),希望大家能夠喜歡
    2015-03-03
  • javascript中[]和{}對(duì)象使用介紹

    javascript中[]和{}對(duì)象使用介紹

    []不僅僅可以表示數(shù)組,可以直接通過(guò)對(duì)象的屬性設(shè)置值和訪問(wèn)值,接下來(lái)為大家介紹下[]和{}對(duì)象的使用,感興趣的你可以參考下哈
    2013-03-03

最新評(píng)論

东港市| 四川省| 改则县| 合肥市| 上思县| 攀枝花市| 云和县| 竹溪县| 沛县| 鸡西市| 南汇区| 诸暨市| 安化县| 陵川县| 夏河县| 海晏县| 永福县| 岢岚县| 江津市| 抚州市| 东宁县| 本溪市| 九寨沟县| 安阳县| 杭锦后旗| 凌云县| 泾源县| 绥宁县| 哈密市| 彰武县| 社旗县| 瓮安县| 永定县| 新津县| 会宁县| 修武县| 安顺市| 青冈县| 巴林右旗| 平和县| 左贡县|