let a = {a: 1}
for (let key in a) {
console.log(key)
a.b = 1
}
我在forin的循环中插入了b,为什么循环只循环一次呢,不应该是我插入了b要循环两次吗
let a = {a: 1}
for (let key in a) {
console.log(key)
a.b = 1
}
我在forin的循环中插入了b,为什么循环只循环一次呢,不应该是我插入了b要循环两次吗
for (let i = 0; i < Object.keys(a).length; i++) {
console.log(Object.keys(a)[i])
a.b = 1
}
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
for ... in
可以理解成一般
for...in
和for...of
循环都被认为是foreach
循环,它和普通的for (;;)
循环不同,是一种迭代模式。而迭代模式在迭代前需要固定当前状态,而且一般不应该在迭代过程中修改迭迭代源,尤其是增删操作。