使用引号在JS中声明对象和数组是否更快?

时间:2013-11-28 07:23:14

标签: javascript performance syntax

以符合JSON的方式声明复杂数据是否更快:

  

var data = [ {"x":0,"y":3}, {"x":3,"y":4}, {"x":8,"y":0} ];

或者这样:

  

var data = [ {x:0,y:3}, {x:3,y:4}, {x:8,y:0} ];

我的意思是有任何性能差异吗?

1 个答案:

答案 0 :(得分:3)

通常如果以这种方式声明对象var data = [ {x:0,y:3} ]是首选,因为写入速度更快,这需要更少的空间但不会有任何重大的性能差异

但请考虑一种情况,您希望将属性名称指定为保留字或表达式

var data = { class : "Oh class" };
var car = { a*b: "aabb" };

在这种情况下

var data = { "class" : "Oh class" }    
var car = { "a*b" : "aabb" };
带引号的

是首选,因为在某些没有引号的IE中它会产生错误。  因此,当您想要使用不是有效JavaScript标识符的密钥时,首选引号

此外,JSON标准(不是Javascript)总是需要双引号。