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

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

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

1. generator簡介

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

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

2. 示例

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

2.1

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

2.2 一個(gè)無限循環(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()方法, 通過拋出一個(gè)異常到迭代器中,來重新獲得迭代器的執(zhí)行;

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

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ù)類型詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

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

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

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

    微信小程序后端無法保持session的原因及解決辦法問題

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

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

    微信小程序非常火爆,今天腳本之家小編給大家?guī)淼奈⑿判〕绦蜃远xtab實(shí)現(xiàn)多層tab嵌套功能以及項(xiàng)目中遇到的問題及解決方法,感興趣的朋友一起看看吧
    2018-06-06
  • 微信小程序wxml列表渲染原理解析

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

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

    JavaScript中的return語句簡單介紹

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

    詳解JavaScript修改注冊表的方法

    這篇文章主要介紹了詳解JavaScript修改注冊表的方法,本實(shí)例主要通過WshShell 對象的相關(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 對象數(shù)組根據(jù)對象object key的值排序

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

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

    javascript中[]和{}對象使用介紹

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

最新評論

桓仁| 济南市| 景宁| 南皮县| 东港市| 东光县| 墨玉县| 平罗县| 文山县| 宜章县| 平度市| 张家口市| 云和县| 克东县| 紫云| 阳新县| 灌南县| 曲周县| 绥宁县| 繁昌县| 新乐市| 玛曲县| 廉江市| 博客| 获嘉县| 和田市| 宁波市| 靖州| 南安市| 改则县| 原平市| 淮阳县| 阿坝县| 库车县| 辉南县| 宜阳县| 桂平市| 榆中县| 廊坊市| 万荣县| 镇赉县|