Heim >Web-Frontend >js-Tutorial >So definieren Sie Array-ähnliche Objekte in Javascript
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.
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
2. Sie können numerische Indizes verwenden, um auf Objekte zuzugreifen
a[0];//<p class="aspNetHidden">…</p>
3. Array Prototypen können nicht verwendet werden. Methoden (wie Slice, Pop usw.)
a.slice;//undefined Error! a.pop;//undefined Error!
4 Die Verwendung der Instanz der Operation gehört nicht zum Array
[] instanceof Array;//true a instanceof Array;//false
5. Sie kann in ein echtes Array-Objekt umgewandelt werden
var arr = Array.prototype.slice.call(a); arr instanceof Array;//true
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] }
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
rrree2. 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 = {};//创建一个空对象
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";
[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!