【发布时间】:2015-03-16 02:20:30
【问题描述】:
我无法通过括号表示法将空数组添加到对象中。我知道如何通过点符号将我的空数组放入对象中,但我只是不明白为什么括号符号对我不起作用。
更新:我现在明白我的问题了;点符号和括号符号之间的上下文切换使我蒙蔽了我,我完全不记得在我的第三个块中-动物[噪声](忘记了“”)试图访问属性噪声的属性值,而我没有尚未在我的对象中创建
为我的对象创建和添加属性
var animal = {};
animal.username = "Peggy";
animal["tagline"] = "Hello";
然后创建这个:
animal {
tagline: "Hello",
username: "Peggy"
}
当我尝试将其添加到我的对象时,为什么以下操作不起作用?
var noises = [];
animal[noises];
我在我的控制台中得到了这个(与上面相同):
animal {
tagline: "Hello",
username: "Peggy"
}
我能够通过这种方式得到我的结果:
animal.noises = [];
将其输出到我的控制台:
animal {
noises: [],
tagline: "Hello",
username: "Peggy"
}
但这仍然给我留下了一个问题:为什么这不能通过括号表示法工作?
【问题讨论】:
-
animal[noises];表示您正在尝试使用noises给出的名称访问animal的属性。您没有在那里创建任何属性。 -
我刚刚更新了问题。看看第三个代码块
-
@CliffordFajardo 这不会改变任何东西。您没想到
animal["Hello"];会创建一个名为tagline的属性,其值为Hello,是吗?现在您为什么期望animal[[]](这实际上是您的尝试)应该创建一个名为noises的属性?您显然不知道括号符号的含义,您应该在初学者 JavaScript 教程中查找它。
标签: javascript arrays object properties variable-assignment