javascript - 对于..循环?

标签 javascript for-loop for-in-loop

我在这里失去了它..我现在对这个循环的工作原理感到非常困惑。

来自 w3 学校:

var person={fname:"John",lname:"Doe",age:25}; 

for (x in person)
{
document.write(person[x] + " ");
}

人是一个具有属性的对象,对吗?如何使用括号访问这些属性?我以为那是用于数组的?

为什么这也有效,而且不应该只是这样?:

var person=[]; 
person["fname"] = "John";
person["lname"] = "Doe";
person["age"] = "25";


for (x in person)
{
document.write(person[x] + " ");
}

最佳答案

有两种方法可以访问对象的属性:

  • obj.key
  • obj['key']

第二种方法的优点是您还可以动态提供 key ,例如在您的示例中,obj[x]obj.x 字面意思是 x 属性(即 obj['x']),这不是您想要的。

数组只能与括号一起使用,但括号不限于数组。数组本质上也是对象,但专为数字键而设计。您仍然可以向其中添加带有非数字键的属性,但这不是它们的设计目的。

关于javascript - 对于..循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6773981/

相关文章:

javascript - 如何测试 AWS lambda

javascript - 如何让 jQuery 在上传之前选择文件时过滤文件类型?

python - 如何编写大量嵌套的 'for' 循环(递归)

javascript - 使用 for 循环创建多个函数

r - 努力在 tidyverse 中优雅地改变列

swift - For-in 循环和类型转换仅适用于匹配类型的对象

javascript - 使用 JavaScript 为段落中的单词设置背景色 "yellow"

javascript - Google 如何隐藏搜索结果的 HTML 来源?

ios - 如何一个接一个地呈现多个 UIAlertController?

swift - 字符串数组中的字符swift