解释(liveCats中的var cat)语法

Explain for(var cat in livingCats) syntax?

本文关键字:cat 语法 var 中的 liveCats 解释      更新时间:2023-09-26
livingCats = {"bob": true, "bo": false};
for(var cat in livingCats)
  print(cat);

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

有关使用 var 和 in 打印密钥的语法的更多信息。

从答案和阅读更多文档来看,cat 变量没有定义,但是一个可枚举的,因此可以在 for.在。猫可以被任何东西取代。

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

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

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

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

但请注意,一旦循环结束,cat仍将在循环中分配最后一个值。

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