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
}
13 回答12.7k 阅读
2 回答4.9k 阅读✓ 已解决
7 回答1.8k 阅读
3 回答2.1k 阅读✓ 已解决
5 回答681 阅读
8 回答2.3k 阅读
3 回答1k 阅读✓ 已解决
for ... in
可以理解成一般
for...in
和for...of
循环都被认为是foreach
循环,它和普通的for (;;)
循环不同,是一种迭代模式。而迭代模式在迭代前需要固定当前状态,而且一般不应该在迭代过程中修改迭迭代源,尤其是增删操作。