Javascript生成器函数
2024-10-07 17:56:16
function*
这种声明方式(function
关键字后跟一个星号)会定义一个生成器函数 (generator function),它返回一个Generator 对象
示例:
function* generator(x) {
console.log('x', x);
let a = yield x;
console.log('a', a);
let b = yield (x + 1) + a;
console.log('b',b);
yield a + b;
console.log('a + b =', a + b);
return a + b;
}
generator(10);
let g = generator(10);
console.log(g.next());
console.log(g.next(1000).value);
console.log(g.next(50));
console.log(g.next());
执行结果
x 10
{ value: 10, done: false }
a 1000
1011
b 50
{ value: 1050, done: false }
a + b = 1050
{ value: 1050, done: true }
a和b为迭代器(iterator)对象,迭代器对象的值取决于next方法,所以返回值为1050
最新文章
- js 无缝滚动效果学习
- .Net中的加密解密
- 状态压缩 CSU1129 送货到家
- WEB前端开发和调试的工具
- jQuery1.11源码分析(6)-----jQuery结构总揽
- css3 怎么实现像书籍装订线的效果
- PostgreSQL的 initdb 源代码分析之十五
- android 开发环境搭建 (转)
- Windows 8 Cython 的配置(解决Unable to find vcvarsall.bat问题)
- AUTOSAR的前期开源实现Arctic Core
- 将markdown文档使用gulp转换为HTML【附带两套css样式】
- cropper截图不压缩PHP上传裁剪后的图片
- 使用Python启动一个简单的服务器
- topcoder srm 335 div1
- [Python_2] Python 基础
- 字节码分析finally块对return返回值的影响
- 原生js实现一个DIV的碰撞反弹运动,并且添加重力效果
- java算法小例子
- 学习stylus笔记
- Postfix的工作原理