解释(live cat中的var cat)语法?

时间:2013-07-27 02:00:44

标签: javascript syntax

livingCats = {"bob": true, "bo": false};
for(var cat in livingCats)
  print(cat);

这将输出对象中的所有名称是否为真。 我不记得将cat定义为对象中的任何内容,为什么我们可以使用cat来打印每个名称? 猫可以兑换任何东西而且没关系吗?

有关使用var和in打印键的语法,请参阅更多信息。

从答案和阅读更多文档,cat变量未定义但是可枚举,因此可用于for..in。猫可以被任何东西取代。

2 个答案:

答案 0 :(得分:0)

for()中的变量可以是任何内容,它只是表示对象中的泛型键。

答案 1 :(得分:0)

您没有将cat定义为对象中的任何。您将其定义为变量,并在for语句中执行了

这使得JavaScript依次将livingCats对象的每个属性名称分配给cat,并且每次都在for语句中运行代码。它不会查看属性的值,只是将属性名称分配给cat

您的特定for循环等效于此代码:

print("bob");
print("bo");

虽然注意一旦循环结束,cat仍将在循环中为其分配最后一个值。