我可以得到一个以数字开头的javascript对象属性名吗?

我可以得到一个以数字开头的javascript对象属性名吗?,javascript,key,Javascript,Key,是否有其他方法获取此属性,或者我是否应该不使用以数字开头的键?您可以使用以下语法来执行使用括号表示法所描述的操作: var myObj = {"suppliers":[{"name":"supplier1","12m":"0.08","24m":"0.06"}]}; alert(myObj.suppliers[0].12m); 括号表示法不同于点表示法(例如,myObject.myProperty),它可以用来访问名称非法的属性。非法意味着使用点表示法时,只能使用字母数字的属性名称(加上下划

是否有其他方法获取此属性,或者我是否应该不使用以数字开头的键?

您可以使用以下语法来执行使用括号表示法所描述的操作:

var myObj = {"suppliers":[{"name":"supplier1","12m":"0.08","24m":"0.06"}]};

alert(myObj.suppliers[0].12m);
括号表示法不同于点表示法(例如,
myObject.myProperty
),它可以用来访问名称非法的属性。非法意味着使用点表示法时,只能使用字母数字的属性名称(加上下划线
\uu
和美元符号
$
),并且不能以数字开头。括号表示法允许我们使用字符串访问属性并绕过它

myObject["myProperty"]
这也意味着我们可以使用字符串变量查找和设置对象的属性:

myObject.1 // fails, properties cannot begin with numbers
myObject.& // fails, properties must be alphanumeric (or $ or _)

myObject["1"] // succeeds
myObject["&"] // succeeds

您可以阅读有关点和括号表示法的更多信息。

是的,请使用括号语法:

alert(myObj.suppliers[0][“1200万])

JavaScript标识符必须以字母、下划线(\)或 美元符号(元),;后续字符也可以是数字(0-9)。 因为JavaScript区分大小写,所以字母包含字符 “A”到“Z”(大写)以及字符“A”到“Z” (小写)


顺便说一句,这不是JSON…从技术上讲,它是一个对象。@Nexexeus您能澄清一下这个命令吗?我认为Javascript对象符号是定义对象的方式。这些术语不是同义词吗?感谢本质上,它们是相同的,但在javascript中,您称它们为对象。另外,在JSON中,所有键都必须被qout:
{“key”:123}
@NeXXuS我的对象是用“javascript对象表示法”声明的,不是吗?我所有的钥匙都有双引号,不是吗?我看不出你有什么区别。@bodine:我喜欢。这只是使用对象表示法的上下文。
var myEdgyPropertyName = "||~~(_o__o_)~~||";

myEdgyObject[myEdgyPropertyName] = "who's there?";

myEdgyObject[myEdgyPropertyName] // "who's there?";