Könnte mir das vielleicht jemand erklären?
Ja, es scheint so, dass bei Objektliteralen in JSONeval
bisweilen glaubt, ein Block-Statement vor sich zu haben und dann falsch parst.Wann passiert das? Nicht bei seinem Beispiel.
var x=eval('{"x":"50"}');
wirft mir Fehler in Opera 9.52 ("Syntax Error"), Firefox 3.0.4 ("Invalid label") und Internet Explorer 6 ("';' expected") aus, var x=eval('({"x":"50"})');
funktioniert tadellos.
Das Problem ist offenbar, dass {
als Start eines Block-Statements aufgefasst wird und "x"
als (invalides) Label.
--
Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.
Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|
Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.
Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|