Sollen wir schreiben?
var a = [ 'a', 'b', 'c', ];
var b = { '1', '2', '3', };
Oder
var a = [ 'a', 'b', 'c' ];
var b = { '1', '2', '3' };
Was ist der richtigste Weg?
Ich habe festgestellt, dass alte Versionen des IE Fehler auslösen, wenn Komma erwartet, dass nach dem Komma ein anderes Array-Element (oder eine andere Eigenschaft) angezeigt wird.
4 Antworten
Ich habe festgestellt, dass alte Versionen des IE Fehler auslösen, wenn Komma vorhanden ist
Grund genug, nach dem letzten Element kein Komma zu setzen! Es ist jedoch gültig, um dies zu tun.
Beachten Sie jedoch, dass Ihr 2. Beispiel ...
var b = { '1', '2', '3', };
... wird einen Syntaxfehler auslösen. Ich vermute, Sie wollten es zu einem Objektliteral machen, haben aber beim Schreiben der Frage nur einen Fehler gemacht:
var b = { x: '1', y: '2', z: '3', }; //Object literal, no syntax error :)
Beide sind gemäß der ECMAScript 5-Spezifikation korrekt .
Obwohl dies nichts mit JavaScript, FWIW, zu tun hat, ist das nachfolgende Komma in JSON nicht zulässig.
Der korrekteste Weg ist ohne ein nachfolgendes Komma, da dies impliziert, dass etwas folgen muss.
Ich lache nur über diese Situation :)
// Firefox and Chrome
["a", "b",].length // 2
// ie7
["a", "b",].length // 3 :)