Der Martin: getElementsByTagName()

Beitrag lesen

n'Abend!

Ihr immer mit den »Collections«! ;)

Ja, das ist ein guter Begriff, um das Ganze von den "richtigen" Arrays oder Objekten, wie sie in "richtigen" Programmiersprachen üblich sind, abzugrenzen.

eine Collection ist eigentlich bloß die Javascript-Entsprechung von Array oder Objekt.
Äh...? Nein! Eine NodeList ist ein spezielles JavaScript-Objekt.

Ja, eben. Nämlich eines, das weder ein reinrassiges Array ist (Komponenten gleichen Typs durch numerische Indexe adressierbar), noch ein reinrassiges Objekt (Komponenten unterschiedlichen Typs durch Namen adressierbar). Es ist eben eine Kreuzung aus beiden: Ich kann mit new Array() ein Array anlegen und ihm Felder unterschiedlichen Typs hinzufügen, ebenso kann ich ein Objekt mit new Object() erzeugen, ihm dann aber eine Reihe von Strings über einen rein numerischen Index anhängen. Die Grenzen verwischen also, es ist weder das eine, noch das andere, sondern scheint je nach Kontext zu mutieren, vereint also die Eigenschaften beider Strukturen.

Die JS-Strukturen sind gewissermaßen eine Kreuzung aus dem, was andere, streng typorientierte  Programmiersprachen als Array einerseits und als Objekt andererseits kennen.
Äh. Es gibt ganz normale Arrays in JavaScript. Und Arrays sind Objekte.

Eben. Und genau das unterscheidet JS von anderen Programmiersprachen wie z.B. C oder C++.

Was hat das mit HTMLCollections zu tun?

Keine Ahnung. Den Begriff "HTMLCollections" hast du ins Spiel gebracht. Ich sprach nur von Collections und meinte damit eine heterogene Datenstruktur.

Eigentlich gibts kein Grund zur Konfusion. ;)

Genau. Vielleicht meinen wir sogar dasselbe, gehen es aber von verschiedenen Richtungen an.

Ciao,
 Martin

--
Küssen ist die schönste Methode, eine Frau zum Schweigen zu bringen.