Javascript 带引号还是不带引号的JS对象键?

Javascript 带引号还是不带引号的JS对象键?,javascript,jquery,object,Javascript,Jquery,Object,可能重复: 兴趣,什么是正确的方法,是否用引号写对象键?就是 var obj = { "name": "Jhon" } 或 例如,从php代码echo json_encode(数组(“a”=>“aaa”,“b”=>“bbb”)结果是具有带引号的键的对象。 但例如,请参见jqueryanimate,在文档中是不带引号的键(这也是JS对象格式,对吗?) 那么,什么是更正确的方法呢?不要混淆JSON对象和Javascript对象文字。JSON对象基本上只是一个字符串,其语法要求有正确的引号

可能重复:

兴趣,什么是正确的方法,是否用引号写对象键?就是

var obj = {
    "name": "Jhon"
}

例如,从php代码
echo json_encode(数组(“a”=>“aaa”,“b”=>“bbb”)结果是具有带引号的键的对象。
但例如,请参见jqueryanimate,在文档中是不带引号的键(这也是JS对象格式,对吗?)


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

不要混淆JSON对象和Javascript对象文字。JSON对象基本上只是一个字符串,其语法要求有正确的引号。但是,对于javascript对象,不需要在其属性周围加引号。但在某些情况下,您必须使用它们,例如:

var test = {
    "with spaces": 12
}

很好地阅读了JSON与object literal:O,对,我混淆了JSON和JS对象。据我所知,在任何情况下,最好是用引号写关键字,所以,谢谢。不,最好不要用引号。真的。如果属性名不是有效标识符,您只需要这些额外字符:“带空格”、“hello john”、“123test”等。理解,非常感谢。
                $("#someElement").animate({
                    marginLeft: "200px"
                },
                {
                    duration: 1000
                });
var test = {
    "with spaces": 12
}