如果你说' - '作为减法表达式。
例如。
Json = {'Me-m':123}
但是您知道为什么我们需要使用[]
来访问此连字符变量。
就像Json['Me-m']
。
答案 0 :(得分:1)
书面方式
Json.Me-m
将评估为
Json.Me - m
它将尝试从Json对象访问Me属性并减去m变量,这可能是未定义的。
答案 1 :(得分:1)
答案 2 :(得分:0)
那是因为' - '在javaScript中有意义,所以如果你写Json.Me-m
JavaScript解释:'将变量m
的值提取到对象``Json的属性Me
的值`'
在javascript中,您可以使用[]
按名称访问对象的任何成员,并且在字符串中,javascript不会尝试评估任何内容,因此当您编写Json[
Me-时m ]
,它被解释为:'检索对象Me-m
'
Json
的成员的值
答案 3 :(得分:0)
原因很简单:在Javascript中,每个对象都是一个索引键/值字典,用“。”访问变量。这是一个快捷方式,显然“字典对象”的事实是一个性能问题,但尽管如此,与其他脚本语言相比,它的速度非常快。
通过设计索引来回答您的问题可以是包含“ - ”字符的字符串,但不是属性...因此,如果您有一个具有该字符的属性,则无法使用“。”访问它。符号
答案 4 :(得分:0)
因为你在obj的关键部分传递了一个特殊字符,并且为了访问obj的值,我们需要使用[]。 例如。 JSON [ 'ME-M']