我正在查看关于JS的mozilla文档的示例,这里有一个片段,显示For..of打印3,5,7,但为什么不“hello”?
let arr = [3, 5, 7];
arr.foo = "hello";
for (let i in arr) {
console.log(i); // logs "0", "1", "2", "foo"
}
for (let i of arr) {
console.log(i); // logs "3", "5", "7" ?????
}
答案 0 :(得分:0)
数组是元素的迭代。这就是它的定义方式。这就是Array[Symbol.iterator]的实施方式。
请参阅this。
编辑:
foo是财产。例如,3是一个元素但是"你好" ISN'吨。元素是作为整数值属性的值出现的值。