2016 - 2024

感恩一路有你

如何使用ES6中的方法控制字符串执行顺序

浏览量:1549 时间:2024-01-27 17:56:53 作者:采采

ES6中引入了许多新特性,其中包括一些操作异步的方式。在这些方式中,Generator函数中的yield表达式可以用于暂停执行,而next()方法则可以用于继续执行。下面通过实例来说明如何使用这些方法。

定义并调用sayHi函数

首先,在已经创建好的JavaScript文件中,定义一个名为sayHi的函数,并在其中使用yield表达式,并返回一个值。代码示例如下:

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

接着,我们可以通过调用该函数并赋值给一个变量sh,然后使用next()方法调用五次,并打印对应的结果。代码示例如下:

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}

在保存代码并打开浏览器查看结果时,可以发现前三次打印对应的字符,done的值为false;第四次返回的value为undefined,done的值为true;第五次的value为undefined,done的值也为true。

定义并调用computeSum函数

接下来,我们可以使用同样的方法来定义一个名为computeSum的函数,并在其中利用if语句和三目表达式返回一个计算表达式的结果。代码示例如下:

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

然后,我们可以将该函数赋值给一个变量cs,并使用next()方法调用四次,并打印对应的结果。代码示例如下:

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}

当预览页面结果时,可能会发现出现报错。这是因为在函数中需要传入一个参数flag。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。