应该在Javascript中的数组项的每个属性后放置逗号吗?

时间:2012-10-07 18:49:46

标签: javascript syntax

我们应该写

var a = [ 'a', 'b', 'c', ];
var b = { '1', '2', '3', };

var a = [ 'a', 'b', 'c' ];
var b = { '1', '2', '3' };

最正确的方法是什么?

我注意到,如果有逗号,期望在逗号后面会有另一个数组项(或属性),那么旧版本的IE会引发错误。

4 个答案:

答案 0 :(得分:5)

  

我注意到如果有逗号

,旧版本的IE会引发错误

这足以让在最后一个元素之后没有逗号!但是,它 valid to do so

但是请注意你的第二个例子......

var b = { '1', '2', '3', };

...会抛出语法错误。我猜你打算把它作为一个对象文字,但在写这个问题时犯了一个错误:

var b = { x: '1', y: '2', z: '3', }; //Object literal, no syntax error :)

答案 1 :(得分:1)

根据ECMAScript 5规范,两者都正确

虽然这与JavaScript(FWIW)无关,但尾随的逗号为not allowed in JSON

答案 2 :(得分:1)

我只是嘲笑这种情况:)

// Firefox and Chrome 
["a", "b",].length // 2

// ie7
["a", "b",].length // 3 :) 

答案 3 :(得分:0)

最正确的方法是没有尾随逗号,因为这意味着要遵循的内容。