Unglaublich, aber wahr:
var a = new Object();
a
.
foo = "foo";
alert(a.foo);
Man kann ja auch
str = "foo " +
"bar " +
"quux";
schreiben. Das ist dasselbe, aber wahrscheinlich nichts neues für dich.
Die Semicolon Insertion greift erst ein, wenn ein »offending token« gefunden wird. a wird als Expression Statement geparst, in der nächsten Zeile steht ein Punkt, das kann problemlos noch zum Expression Statement dazugehören. Erst alert wäre der offending token (weil dann zwei ein String-Literal ohne Operand auf einen Bezeichner treffen würde), wenn die Zeile foo = "foo"; nicht mit einem Semikolon abgeschlossen wäre.
Mathias
--
[JavaScript-Erweiterung für das SELFHTML-Forum](http://forum.de.selfhtml.org/js/doku/)