Hallo Martin,
das nennt sich „named access on the window object“ und ist standardisiert. Eine der schlechteren Ideen.
Mal abgesehen davon ob guter/schlechter Stil, ist diese einfache Art der Referenzierung überhaupt erlaubt, oder doch nur eine temporäre Möglichkeit.
Es ist wohl erlaubt, aber ich finde das Konzept an sich fragwürdig, denn durch die Injektion beliebig benannter Objekte kann es Namenskonflikte mit anderen, vordefinierten Eigenschaften des window-Objekts geben.
Nein. Jede existierende Eigenschaft sowie jeder via var
/let
/const
/function
eingeführte Identifier überschatten das DOM-Element.
Nichts desto trotz ist das natürlich eine echt schlechte Idee… man muss jetzt, um den Code zu verstehen, auch wissen, dass es ein HTML-Element mit der gleichnamigen ID gibt oder ein applet
/object
/embed
/img
-Element mit dem gleichen name
-Attribut.
Viel Spaß bei der Fehlersuche. 😉
In der Tat…
Freundliche Grüße,
Christian Kruse