gpt4 book ai didi

javascript - 在 Iterable 上调用 for ... of 和在返回 iterable 的函数上调用 for ... of 之间的区别?

转载 作者:行者123 更新时间:2023-12-02 23:07:03 24 4
gpt4 key购买 nike

下面两个例子有什么区别吗:

const nodes = document.querySelectorAll('.someclass');
for(const node of nodes){
// do something
}

for(const node of document.querySelectorAll('.someclass')){
// do something
}

该函数是否会在每次迭代时重新调用?或者除了语法之外,它们完全相同吗?

最佳答案

除了额外的 nodes 变量名称之外,它们完全相同。当解释器看到

for (const varName of <expression>)

它将首先计算表达式,然后尝试迭代它。它只对该表达式求值一次,试图从中获得一个可迭代对象。

const getIterable = function* () {
console.log('getIterable running');
yield 'foo';
yield 'bar';
yield 'baz';
};

for (const item of getIterable()) {
console.log(item);
}

关于javascript - 在 Iterable 上调用 for ... of 和在返回 iterable 的函数上调用 for ... of 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57540727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com