我正在解析包含名为json
的元素的data-config
对象。
例如:
var video = data.element.data-config;
每当我解析这个元素时,我都会收到此错误:
ReferenceError: config is not defined
ReferenceError
未提及data-config
,只是config
知道我为什么会收到这个错误吗?
这与短划线( - )字符有关吗?
答案 0 :(得分:10)
在一般JavaScript中,变量/函数名称不能包含-
。它们只能包含字母, $ 和 _(下划线)
错误即将发生,因为它正在解析:
var video
等于data.element.data
(有效)减去config
因为变量不能包含破折号,所以您需要使用我将要调用的内容字符串/括号记法
data.element['data-config']
如果您需要做多于一个,请执行
data.element['data-config']['child']
我不建议您在不必要时使用字符串/括号表示法,这是一种更好的做法。
答案 1 :(得分:1)
当对象属性包含特殊字符时,您必须使用[]
表示法
var video = data.element['data-config'];