ES6 Generator函数是一种特殊类型的函数,可以通过function*关键字定义
▥前端
𝄐 0
es6函数写法,es6函数定义,es6函数式编程入门,es6filter函数的用法,es6 eval函数,es6函数声明
ES6 Generator函数是一种特殊类型的函数,可以通过function*关键字定义。与普通函数不同,它可以在执行过程中暂停,并且支持从外部控制继续执行。Generator函数返回一个迭代器对象,可以通过调用其next()方法来启动或恢复执行。
以下是一个简单的例子,演示Generator函数如何生成斐波那契数列:
javascript
function* fibonacci() {
let [prev, curr] = [0, 1];
while (true) {
[prev, curr] = [curr, prev + curr];
yield curr;
}
}
const fib = fibonacci();
console.log(fib.next().value); // 1
console.log(fib.next().value); // 2
console.log(fib.next().value); // 3
console.log(fib.next().value); // 5
在上面的例子中,fibonacci()定义了一个无限循环,每次迭代计算出下一个斐波那契数并使用yield语句暂停执行并将当前值返回给调用方。通过调用next()方法,可以控制Generator函数继续执行下去,并返回下一个值。由于fibonacci()是一个无限循环,因此调用next()方法可以一直返回新的值。
ES6 Generator函数是一种特殊类型的函数,可以通过function*关键字定义。与普通函数不同,它可以在执行过程中暂停,并且支持从外部控制继续执行。Generator函数返回一个迭代器对象,可以通过调用其next()方法来启动或恢复执行。
以下是一个简单的例子,演示Generator函数如何生成斐波那契数列:
javascript
function* fibonacci() {
let [prev, curr] = [0, 1];
while (true) {
[prev, curr] = [curr, prev + curr];
yield curr;
}
}
const fib = fibonacci();
console.log(fib.next().value); // 1
console.log(fib.next().value); // 2
console.log(fib.next().value); // 3
console.log(fib.next().value); // 5
在上面的例子中,fibonacci()定义了一个无限循环,每次迭代计算出下一个斐波那契数并使用yield语句暂停执行并将当前值返回给调用方。通过调用next()方法,可以控制Generator函数继续执行下去,并返回下一个值。由于fibonacci()是一个无限循环,因此调用next()方法可以一直返回新的值。
本文地址:
/show-277562.html
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。