gpt4 book ai didi

javascript - 为什么这个 JS for-in 循环只记录属性的键,而不是整个属性?

转载 作者:行者123 更新时间:2023-11-28 15:28:11 28 4
gpt4 key购买 nike

MDN说:

The for..in statement iterates over the enumerable properties of an object, in arbitrary order. For each distinct property, statements can be executed.

如果我输入以下 JavaScript 代码:

var myObject = {0:'cat', 1:'dog', 2:'fish'};

for (var x in myObject) {
console.log(x);
}

我得到这个输出:

0
1
2

如果它正在迭代“可枚举的属性”,为什么它不记录整个属性,就像这样?

0: 'cat'
1: 'dog'
2: 'fish'

我意识到我也可以通过myArray['x']让它记录值,但我想知道为什么它只按原样记录键。

这只是 for-in 循环内置逻辑的一部分,并且与它们的预期用途相关吗?

最佳答案

这是 javascript for in 循环的预期行为。如果您想要属性的值,那么您应该这样做:

var myObject = {0:'cat', 1:'dog', 2:'fish'};

for (var x in myObject) {
console.log(myObject[x]);
}

在您的示例对象中,您具有三个属性。这些属性的名称是 0、1 和 2。这些属性的值是“cat”、“dog”和“fish”。 For in 循环枚举属性的名称而不是值。

关于javascript - 为什么这个 JS for-in 循环只记录属性的键,而不是整个属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28375959/

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