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'];