在JS数据属性中保存JS对象

Alj*_*jak 1 html javascript

怎么会这样:

data-something='{property:1}'
Run Code Online (Sandbox Code Playgroud)

不起作用,但这个

data-something='{"property":1}'
Run Code Online (Sandbox Code Playgroud)

确实.可以

cdh*_*wie 5

因为JSON要求引用对象键.这是JSON规范的强制要求; 接受非引用键意味着实现不符合JSON.

这个决定是为了在JavaScript中支持保留关键​​字的问题.希望有效的JSON也是一个有效的JavaScript表达式,为了实现这一点,你必须引用像return和的键function.为了简化JSON语言的规范,决定要求引用所有键而不是维护必须引用的键列表,从而使JSON语法复杂化(以及将JSON语言与JavaScript语言更紧密地联系起来)否则将被要求).