【发布时间】:2012-11-11 19:10:07
【问题描述】:
首先,我想说我在理论上很厉害。我不喜欢抽象。在尝试使用它们之前,我想知道它们是如何工作的。我一直在到处寻找一个简单的理论来获取 for-in 循环的属性名称(而不是值)。我将在代码中演示它,希望有人可以解释它是如何工作的……
var obj = { one: 1, two: 2, three: 3 }; // A basic object instantiated with 3 public properties.
for (var prop in obj) {
console.log(prop); // logs "one", "two" and "three" ???
}
我认为它会将 prop 变量评估为 1、2 和 3,但它会注销实际的属性名称。我知道 obj[prop] 是评估这些属性的实际值的,但这对我来说就像是一个开始。 prop 是存储另一个引用的引用?
我试图从 for 循环中的变量 i 有点像数组的索引来考虑这一点。
这又是什么,和我问的一样吗?
var obj = { "one": 1, "two": 2, "three": 3 };
属性名称字符串如何?...你不能说 var "string" = "Hello, World!";因为那是非法的。
【问题讨论】:
-
我没有为 JavaScript 解释它的背景,但听起来你的答案将与“反射”有关。
-
你在理论上很厉害,但你不喜欢抽象?不..不..计算.....
-
I yi yi...我的语法很糟糕。我的意思是我不喜欢抽象的东西。就像,如果你知道我的意思,我希望尽可能详细地解释它。
-
@W3Geek:听起来你在理论的对立面上很厉害——实际实施:)
标签: javascript arrays oop object loops