专栏首页迈向前端工程师前端测试题:在Generator函数中," yield* "语句的作用是?

前端测试题:在Generator函数中," yield* "语句的作用是?

考核内容:关键字 yield* 的作用

题发散度: ★★

试题难度: ★

解题思路:

不明白Generator 用法的,先点下面链接:

前端测试题:关于新特性Generator函数的描述,错误的是?

yield* 表达式

如果在 Generator 函数内部,调用另一个 Generator 函数。需要在前者的函数体内部,自己手动完成遍历。

ES6 提供了yield*表达式,用来在一个 Generator 函数里面执行另一个 Generator 函数。

从语法角度看,如果yield表达式后面跟的是一个遍历器对象,需要在yield表达式后面加上星号,表明它返回的是一个遍历器对象。这被称为yield*表达式。

关键字yield*来实现调用另外的Generator函数。如果一个Generator函数A执行过程中,进入(调用)了另一个Generator函数B,那么会一直等到Generator函数B全部执行完毕后,才会返回Generator函数A继续执行。

参考代码:

function* fn(){
yield "jerry"
yield "TOM"
}

function* bar() {
yield 'shuke';
yield* fn();
yield 'es6';
}

var f = bar()
f.next()

答案

A、调用另外的Generator函数

本文分享自微信公众号 - 迈向前端工程师(shukeh5),作者:舒克老湿

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 前端测试题:关于新特性Generator函数的描述,错误的是?

    形式上,Generator 函数是一个普通函数,但是有两个特征。一是,function关键字与函数名之间有一个星号;二是,函数体内部使用yield表达式,定义不...

    舒克
  • 前端测试题:Generator函数的yield关键字的作用是?

    Generator 函数的调用方法与普通函数一样,也是在函数名后面加上一对圆括号。不同的是,调用 Generator 函数后,该函数并不执行,返回的也不是函数运...

    舒克
  • JS基础测试: a();function a(){console.log(1)}function a(){..}输出是多少?​

    在一个JavaScript文件或一个JavaScript代码块的内部,浏览器会先对代码进行预处理(编译),然后再执行。

    舒克
  • JavaScript第十九弹——ES6(8)Generator

    Generator与Promise相同,都是ES6异步编程的解决方案。其实Generator就可以看做一个函数,返回的是一个遍历器对象,而这个返回的遍历器对象可...

    萌兔IT
  • 《Monkey Java》课程6.0之抽象类和抽象函数

    GitOPEN
  • SQL优化大神玩转MySQL函数系列(一)

    比如: 20001元 需要 变成 20000元 ,20015 变成 20010 这样

    [3306 Pai ] 社区
  • Office 远程溢出漏洞测试与分析

    在 2017 年 11 月,微软发布的 11 月更新布丁中,微软将隐藏许久的 office 远程代码执行漏洞 (CVE-2017-11882)给修复了,由于该漏...

    信安之路
  • R语言自定义函数

    R语言在使用过程中有些时候代码过长或者很多重复性的功能需要对代码的结构进行管理以及梳理。R语言具有自定义函数的功能,如果有些代码实现的功能具有重复性,那么就可以...

    一粒沙
  • javascript基础之回调函数

    回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿...

    wfaceboss
  • golang之流程控制(注意点)

    超蛋lhy

扫码关注云+社区

领取腾讯云代金券