在 JavaScript 中,没有特定的 Generator() 构造函数,但我们可以使用生成器函数声明来构造一个可迭代的 Generator 对象,因为 Generator 对象是 Iterable 类的子类。生成器通常用于创建可以退出和重新进入的函数。
用法:
function* gen(){ // Sample Code } let example = gen();
示例 1:此示例创建一个生成器对象。
Javascript
function* gen(){
let i = "a"
yield i;
yield i+"b";
}
let example = gen();
console.log(typeof(example))
console.log(example.next().value);
console.log(example.next().value);
输出:当我们检查示例的类型时,我们将对象作为输出,因为没有内置的 Generator 对象
object a ab
示例 2:此示例创建一个无限生成器对象。
Javascript
function* gen(){
let i = 123
while(true){
yield i++;
}
}
let example = gen();
for(let i = 0; i<5; i++) {
console.log(example.next().value);
}
输出:我们可以根据需要尽可能多地迭代这个生成器函数,因为它始终保持 true。
123 124 125 126 127
支持的浏览器:
- Chrome
- 边
- Firefox
- Opera
- Safari
我们有 JavaScript 生成器方法的完整列表,要检查这些方法,请阅读 JavaScript Generator Reference 文章
相关用法
- JavaScript Generator.prototype.throw()用法及代码示例
- JavaScript Generator.prototype.next()用法及代码示例
- JavaScript Generator.prototype.return()用法及代码示例
- JavaScript Generator throw()用法及代码示例
- JavaScript Generator next()用法及代码示例
- JavaScript Generator return()用法及代码示例
- JavaScript Math cosh()用法及代码示例
- JavaScript Math sinh()用法及代码示例
- JavaScript Math sin()用法及代码示例
- JavaScript Math cos()用法及代码示例
- JavaScript Math tan()用法及代码示例
- JavaScript Math abs()用法及代码示例
- JavaScript Math pow()用法及代码示例
- JavaScript Math asin()用法及代码示例
- JavaScript Math acos()用法及代码示例
- JavaScript Math atan()用法及代码示例
- JavaScript Math ceil()用法及代码示例
- JavaScript Math floor()用法及代码示例
- JavaScript Math round()用法及代码示例
- JavaScript Math trunc()用法及代码示例
- JavaScript Math max()用法及代码示例
- JavaScript Math min()用法及代码示例
- JavaScript Math sqrt()用法及代码示例
- JavaScript Math sign()用法及代码示例
- JavaScript Math log()用法及代码示例
注:本文由纯净天空筛选整理自shobhit_sharma大神的英文原创作品 JavaScript Generator() Constructor。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。