Hallo,
Vielleicht hast Du Recht. Meine Informationen stammen aus http://selfhtml.teamone.de/javascript/sprache/regeln.htm#namen. Dort steht:
"... sie dürfen nur aus Buchstaben und Ziffern bestehen - das erste Zeichen muss ein Buchstabe sein; es sind Groß- und Kleinbuchstaben erlaubt. Groß- und Kleinschreibung werden unterschieden!"
Der auf JavaScript aus Netscape 2.0 und JScript aus IE 3.0 basierende ECMA-Standard erlaubt Unterstriche "anywhere in an identifier" (http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf).
CSS-Bezeichner (class, id) muessen dagegen mit einem Buchstaben beginnen und der Unterstrich wurde im Rahmen eines Errata-Dokuments auch darin fuer zulaessig erklaert.
Ich dachte, die Abfrage auf undefined funktioniert nur im Zusammenhang mit typeof. Aber da lag ich wohl falsch.
Mit typeof() ist eine Pruefung noch besser, weil dann auch undefined geliefert wird, wenn die Variable noch nicht mittels var deklariert wurde.
MfG, Thomas