gpt4 book ai didi

对象中对象的 JavaScript 点表示法

转载 作者:行者123 更新时间:2023-11-30 10:24:19 24 4
gpt4 key购买 nike

我现在正在玩 JS,来自 Java。我做了一些教程,需要一些关于 JS 中的点和括号表示法的帮助。

我做了一些东西,我认为是 JS 中的“对象”。它被称为“ friend ”。在这个对象中,还有另一个对象“bill”。

var friends = {};
friends.bill = {
firstName: "Bill",
lastName: "Gates",
number: "(206) 555-5555",
address: ['One Microsoft Way','Redmond','WA','98052']
};

var search = function(name) {
for(var prop in friends) {
if(friends[prop].firstName === name) {
return friends[prop];
}
}
};
search("Bill");

这显然按预期工作。我在搜索功能中使用了括号符号。但我不清楚为什么这个版本不能以同样的方式工作:

 var search = function(name) {
for(var prop in friends) {
if(friends.prop.firstName === name) {
return friends.prop;
}
}

在我的理解中,括号和点符号用于相同的事物。我在 stackoverflow 上搜索了一下,我认为 this问题是一样的,但我想我不完全理解所有引号的问题是什么。

最佳答案

当您使用括号表示法时,您将要访问的属性的名称放在括号之间,该名称是一个字符串。

当您使用点表示法时,您键入的是属性名称,而不是点后包含属性名称的字符串。

你的线路:

friends.prop

JavaScript 是这样解释的:

在对象 friends 上寻找一个名为 prop 的属性,但没有这样的属性,所以你会遇到问题。

关于对象中对象的 JavaScript 点表示法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20190755/

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