[提高]ES2015中最惊艳特性之生成器函数初步

本文介绍如何利用ES2015中的Generator特性简化函数设计,通过一个示例展示如何用Generator同时返回姓名和年龄,相较于传统方法,这种方法更加简洁高效。

我们来设计一个简单无比的需求 
比如我要通过简单的函数来返回 
1.我的名字(zhangsan) 
2.我的年龄(18岁 )

往往我们需要写2个函数,如function showName/showAge 
或者我们通过一个函数来返回对象

function showMe(){
    return {name:"zhangsan",age:18};
}
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

但是ES2015有了生成器Generator

function *showMe()
{
    let [name,age] = ["zhangsan",18];
    yield name;
    yield age;
}
let me = showMe();
console.log(me.next().value);//zhangsan
console.log(me.next().value);//18
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

概念了解 
生成器中最重要的过程就是yield语句。 
而yield的作用是”切出当前函数运行时”(比较难理解,姑且可以理解为从线程切换到协程)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值