【发布时间】:2020-08-08 00:26:21
【问题描述】:
javascipt es6迭代器惰性求值内存操作流程
当涉及到 JavaScript ES6 迭代器对象和 next() 调用时,据说是以延迟求值形式运行的。
如果将迭代器对象作为生成器函数返回,则该函数不会立即执行。必须执行返回的迭代器对象的 next() 函数才能执行它。 这时候如果执行代码求值公式在调用栈上向上,遇到yield,会不会从调用栈中消失?
function* loop(num) {
while(true) {
yield num + 1;
}
}
loopIterator = loop(1); // return iterator obj
console.log(loopIterator.next()); // call
console.log(loopIterator.next()); // call
【问题讨论】:
-
如果您能发布一个示例,这将非常有帮助。
-
“迭代器惰性内存操作”似乎与您的问题无关?请在帖子标题中提出问题,而不是标签汤。
标签: javascript ecmascript-6 iterator generator