Heim > Web-Frontend > js-Tutorial > So definieren Sie Array-ähnliche Objekte in Javascript

So definieren Sie Array-ähnliche Objekte in Javascript

醉折花枝作酒筹
Freigeben: 2023-01-07 11:44:57
Original
4027 Leute haben es durchsucht

Die Methode zum Definieren eines Array-ähnlichen Objekts in JavaScript ist: 1. Erstellen Sie zunächst ein leeres Objekt. 2. Definieren Sie direkt das numerische Indexattribut für das Objekt. 3. Der entscheidende Punkt besteht darin, das Längenattribut und das Spleißattribut festzulegen das Objekt zu Zahlen und Funktionen.

So definieren Sie Array-ähnliche Objekte in Javascript

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

Es gibt viele Array-ähnliche Objekte in js. Das einfache Konzept besteht darin, dass sie wie Arrays aussehen, aber keine Arrays sind. Auf sie kann über numerische Indizes zugegriffen werden, und es gibt keine Array-Methoden.

Beispiele: Argumente, NodeList, HTMLCollection, jQuery usw.

Eigenschaften von Array-ähnlichen Objekten

1. Besitzen Sie ein Längenattribut

var a=document.getElementsByTagName("p");
a.__proto__;// HTMLCollection {} 属于类数组对象a.length;//62
Nach dem Login kopieren

2. Sie können numerische Indizes verwenden, um auf Objekte zuzugreifen

a[0];//<p class="aspNetHidden">…</p>
Nach dem Login kopieren

3. Array Prototypen können nicht verwendet werden. Methoden (wie Slice, Pop usw.)

a.slice;//undefined Error!
a.pop;//undefined Error!
Nach dem Login kopieren

4 Die Verwendung der Instanz der Operation gehört nicht zum Array

[] instanceof Array;//true
a instanceof Array;//false
Nach dem Login kopieren

5. Sie kann in ein echtes Array-Objekt umgewandelt werden

var arr = Array.prototype.slice.call(a);
arr instanceof Array;//true
Nach dem Login kopieren

PS: Hinweis dass einige Objekte mit der Slice-Methode unter IE8 nicht in ein echtes Array-Objekt umgewandelt werden können.

Es wird empfohlen, die von jquery bereitgestellte Methode $.makeArray() zu verwenden, um arrayähnliche Objekte zu konvertieren

6 Normalerweise können andere benutzerdefinierte Attribute definiert werden

a.item;//function item() { [native code] }
Nach dem Login kopieren

Vorteile von arrayähnlichen Objekten

Da glaube ich Es ist nicht nötig, zu viel über die Vorteile zu sagen. Lassen Sie js und andere Back-End-Sprachen den gleichen Betriebsmodus haben.

Zum Beispiel kann auf einige Listensammlungen in C# mit dem numerischen Index list[0] oder dem String-Namen list['name'] zugegriffen werden, um auf dasselbe Objekt zuzugreifen.

Es gibt auch verschiedene benutzerdefinierte Methoden, wie Sie sehen können So ein wunderbares Objekt, wenn man sich die elegante Zugriffsmethode des JQuery-Objekts ansieht.

So erstellen Sie manuell ein Array-ähnliches Objekt

Zurück zum Thema: So erstellen Sie manuell ein Array-ähnliches Objekt.

1. Erstellen Sie zunächst ein leeres Objekt

rrree

2. Definieren Sie direkt numerische Indexattribute für das Objekt. Dies ist in anderen Sprachen absolut nicht zulässig, in JS jedoch möglich und Chinesisch sind verfügbar

var array_like = {};//创建一个空对象
Nach dem Login kopieren

3. Der entscheidende Punkt besteht darin, das Längenattribut und das Spleißattribut für das Objekt als Zahlen und Funktionen festzulegen Array. Sie können hier nachlesen

4. Test

array_like[ 0 ] = "test 0";
array_like[ 1 ] = "test 1";
array_like[ 2 ] = "test 2";
array_like[ 3 ] = "test 3";
Nach dem Login kopieren

[Empfohlenes Lernen:

Javascript-Tutorial für Fortgeschrittene

]

Das obige ist der detaillierte Inhalt vonSo definieren Sie Array-ähnliche Objekte in Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage