卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

如何使用ES6中的方法控制字符串執(zhí)行順序

ES6中引入了許多新特性,其中包括一些操作異步的方式。在這些方式中,Generator函數(shù)中的yield表達(dá)式可以用于暫停執(zhí)行,而next()方法則可以用于繼續(xù)執(zhí)行。下面通過實(shí)例來說明如何使用這些方法

ES6中引入了許多新特性,其中包括一些操作異步的方式。在這些方式中,Generator函數(shù)中的yield表達(dá)式可以用于暫停執(zhí)行,而next()方法則可以用于繼續(xù)執(zhí)行。下面通過實(shí)例來說明如何使用這些方法。

定義并調(diào)用sayHi函數(shù)

首先,在已經(jīng)創(chuàng)建好的JavaScript文件中,定義一個(gè)名為sayHi的函數(shù),并在其中使用yield表達(dá)式,并返回一個(gè)值。代碼示例如下:

function* sayHi() {
    yield 'H';
    yield 'e';
    yield 'l';
    yield 'l';
    yield 'o';
}

接著,我們可以通過調(diào)用該函數(shù)并賦值給一個(gè)變量sh,然后使用next()方法調(diào)用五次,并打印對(duì)應(yīng)的結(jié)果。代碼示例如下:

let sh  sayHi();
console.log(()); // {value: "H", done: false}
console.log(()); // {value: "e", done: false}
console.log(()); // {value: "l", done: false}
console.log(()); // {value: "l", done: false}
console.log(()); // {value: "o", done: false}

在保存代碼并打開瀏覽器查看結(jié)果時(shí),可以發(fā)現(xiàn)前三次打印對(duì)應(yīng)的字符,done的值為false;第四次返回的value為undefined,done的值為true;第五次的value為undefined,done的值也為true。

定義并調(diào)用computeSum函數(shù)

接下來,我們可以使用同樣的方法來定義一個(gè)名為computeSum的函數(shù),并在其中利用if語句和三目表達(dá)式返回一個(gè)計(jì)算表達(dá)式的結(jié)果。代碼示例如下:

function* computeSum(flag) {
    let a  1;
    let b  2;
    if (flag) {
        yield a   b;
    } else {
        yield a - b;
    }
}

然后,我們可以將該函數(shù)賦值給一個(gè)變量cs,并使用next()方法調(diào)用四次,并打印對(duì)應(yīng)的結(jié)果。代碼示例如下:

let cs  computeSum(true);
console.log(()); // {value: 3, done: false}
console.log(()); // {value: undefined, done: true}
console.log(()); // {value: undefined, done: true}
console.log(()); // {value: undefined, done: true}

當(dāng)預(yù)覽頁面結(jié)果時(shí),可能會(huì)發(fā)現(xiàn)出現(xiàn)報(bào)錯(cuò)。這是因?yàn)樵诤瘮?shù)中需要傳入一個(gè)參數(shù)flag。

標(biāo)簽: