带或不带引号的JS对象键?

OTA*_*TAR 6 javascript jquery object

可能重复:
带引号和没有引号的对象键之间有什么区别?

兴趣,正确的方法,是否在引号中写入对象键?那是

var obj = {
    "name": "Jhon"
}
Run Code Online (Sandbox Code Playgroud)

要么

var obj = {
    name: "Jhon"
}
Run Code Online (Sandbox Code Playgroud)

例如,从PHP代码echo json_encode(array("a"=>"aaa","b"=>"bbb"));结果是具有引号键的对象.但是例如看到jquery animate,在文档中是没有引号的键,(这也是JS对象格式,对吧?)

                $("#someElement").animate({
                    marginLeft: "200px"
                },
                {
                    duration: 1000
                });
Run Code Online (Sandbox Code Playgroud)

那么,更正确的方法是什么?

dfs*_*fsq 9

不要混淆JSON对象和Javascript对象文字.JSON对象基本上只是一个字符串,其语法需要有适当的引号.但是对于javascript对象引用它的属性是没有必要的.但在某些情况下你必须使用它们,例如:

var test = {
    "with spaces": 12
}
Run Code Online (Sandbox Code Playgroud)

  • 不,最好不要使用报价.真的.如果属性名称不是有效标识符,则只需要这些额外字符:"with space","hello-john","123test"等. (3认同)