我可以得到一个以数字开头的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?";