Javascript 元素名称上带有破折号(-)字符的Json对象

Javascript 元素名称上带有破折号(-)字符的Json对象,javascript,jquery,ajax,json,jquery-mobile,Javascript,Jquery,Ajax,Json,Jquery Mobile,我正在解析一个json对象,该对象包含一个名为dataconfig的元素 例: 每当我分析此元素时,都会出现以下错误: ReferenceError: config is not defined ReferenceError没有提到数据配置,而只是配置 知道我为什么会犯这个错误吗? 这与短划线(-)字符有关吗?有效字符 在一般JavaScript中,变量/函数名不能包含-。它们只能包含字母、$和\下划线 所以 由于正在分析,因此出现错误: var-video等于data.element.dat

我正在解析一个
json
对象,该对象包含一个名为
dataconfig
的元素

例:

每当我分析此元素时,都会出现以下错误:

ReferenceError: config is not defined
ReferenceError
没有提到
数据配置
,而只是
配置

知道我为什么会犯这个错误吗? 这与短划线(-)字符有关吗?

有效字符 在一般JavaScript中,变量/函数名不能包含
-
。它们只能包含字母$\下划线

所以 由于正在分析,因此出现错误:

var-video
等于
data.element.data
(有效)减去
config

解决方案 因为变量不能包含破折号,所以需要使用我称之为字符串/括号的符号

data.element['data-config']

如果你需要做的不止一件,那就做吧

data.element['data-config']['child']


我不建议在不需要时使用字符串/括号表示法,这是更好的做法。

当对象属性包含特殊字符时,必须使用
[]
表示法

var video = data.element['data-config'];

这就是为什么我如此喜欢它,它起作用了!我马上就接受你的答复。谢谢你的解释。这能回答你的问题吗?
var video = data.element['data-config'];