Heim > Web-Frontend > js-Tutorial > Hinzufügen benannter Eigenschaften zu JavaScript-Arrays: Objektliteral vs. Klammernotation?

Hinzufügen benannter Eigenschaften zu JavaScript-Arrays: Objektliteral vs. Klammernotation?

Patricia Arquette
Freigeben: 2024-11-29 04:36:17
Original
763 Leute haben es durchsucht

Adding Named Properties to JavaScript Arrays: Object Literal vs. Bracket Notation?

Hinzufügen benannter Eigenschaften zu Arrays: Eine JavaScript-Eigenart

In JavaScript können Arrays auf unerwartete Weise manipuliert werden, einschließlich der Möglichkeit, benannte Eigenschaften hinzuzufügen Eigenschaften, als wären sie Objekte. Dies wirft die Frage auf: Gibt es einen grundlegenden Unterschied zwischen der Deklaration eines Arrays mit benannten Eigenschaften mithilfe von Klammern und einem Objektliteral?

Die kurze Antwort lautet: Ja, es gibt einen Unterschied.

Während sich beide Methoden oberflächlich betrachtet ähnlich verhalten und bei Überprüfung mit typeof() den Typ „Objekt“ zurückgeben, unterscheiden sie sich in ihrer zugrunde liegenden Natur. Arrays sind für numerisch indizierte Daten gedacht, während Objekte für nicht numerische Schlüssel konzipiert sind.

Um diese Unterscheidung zu veranschaulichen, beachten Sie Folgendes:

var myArray = Array();
myArray['A'] = "Athens";
myArray['B'] = "Berlin";

alert(myArray.length);
Nach dem Login kopieren

Dieser Code zeigt „0“ an, wohingegen man erwarten könnte, dass dort „2“ angezeigt wird. Dies liegt daran, dass die dem Array hinzugefügten benannten Eigenschaften keinen Einfluss auf dessen Längeneigenschaft haben. Stattdessen werden sie als zusätzliche Eigenschaften für das Array-Objekt behandelt.

Im Gegensatz dazu würde ein mit benannten Eigenschaften deklariertes Objektliteral seine Länge korrekt widerspiegeln:

var myObject = {'A': 'Athens', 'B': 'Berlin'};
alert(myObject.length); // This would display '2'
Nach dem Login kopieren

Daher ist dies zwar möglich Das Hinzufügen benannter Eigenschaften zu Arrays gilt als „Missbrauch“ und sollte vermieden werden. Für nicht numerische Tasten empfiehlt es sich, stattdessen ein Objekt zu verwenden.

Das obige ist der detaillierte Inhalt vonHinzufügen benannter Eigenschaften zu JavaScript-Arrays: Objektliteral vs. Klammernotation?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage