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

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

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

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

要么

 var obj = { name: "Jhon" } 

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

  $("#someElement").animate({ marginLeft: "200px" }, { duration: 1000 }); 

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

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

 var test = { "with spaces": 12 }