<html> <span id="tonart">Dur</span> <script> tonart.innerHTML="Moll"; </script> </html>
→ Moll
Ach so. Eigentlich ist es nicht tonart
, sondern window.tonart
… JS durchsucht also ohne Anweisung das window-Object, ob darin eine Eigenschaft namens „tonart“ registiert (und mit einem Objekt mit der Eigenschaft innerHTML belegt) ist:
tonart.innerHTML="Moll";
window.tonart.innerHTML="Moll";
window['tonart'].innerHTML="Moll";
window['tonart']['innerHTML']="Moll";
führen also zu identischem Ergebnis. Es handelt ich um sowas wie einen Suchpfad, das kleine Männchen im Rechner hat also folgende
Anweisung 0815:
Gibt es ein Objekt nicht, schau im Superobjekt window nach.
Teile davon mag ich wegen der Unklarheiten/Konkurrenzen im Namespace nicht. Irgendjemand kann ja mal messen, was schneller ist.