我需要知道为什么这不起作用。我的Javascript代码访问对象中的变量。但它似乎没有起作用,部分原因是因为我无法弄清楚语法。
var obj = {
size:"small",
big:false,
thing:true
}
alert(obj[size]);
我只是不确定我的语法是否合适......
答案 0 :(得分:1)
这将在这里工作。
obj.size //returns small
OR
obj["size"] //returns small
OR
var my_var = "size"
obj[my_var] //returns small
答案 1 :(得分:0)
您可以通过以下方式引用对象值:
obj["size"]
或
obj.size
然而,有一个例外。例如,如果你有一个带有数字键的跟随对象:(注意:键仍然是一个字符串,即使它是以这种方式定义的):
var obj = {
1: true
};
您只能使用以下内容检索其值:obj["1"]
因此,使用obj.1
会导致语法错误。
因此,如果您将代码更改为例如alert(obj["size"]);
,则代码可以正常工作,但我更喜欢使用console.log(obj["size"]);
进行调试。至少,如果您正在使用node.js,就像您的标签所示。
干杯。