Was ist ein Array-ähnlichesWie der Name schon sagt, muss dieses Ding etwas sein, das wie ein Array aussieht, aber kein Array ist. Was ist es also? Eigentlich ist es ein Objekt, ein Objekt, das wie ein Array aussieht. Der Unterschied zum Array Was ist der Unterschied zwischen einem Klassenarray und einem Array: Welche Array-Typen gibt es?Gängige Klassenarrays sind
Als nächstes schauen wir uns diese drei Array-Typen an. Argumente Argumente sind ein Schlüsselwort in JavaScript. Bezieht sich speziell auf den Parametersatz einer Funktion, der alle Parameter und anderen Eigenschaften der Funktion umfasst. Es muss nicht definiert werden und kann direkt im Funktionskörper verwendet werden Funktion args(a, b, c) { console.log(Argumente) console.log(Typ der Argumente) Konsole.log({}.toString.call(Argumente)) } args('a', 'b', 'c') Schauen wir uns die Ausgabe an Es ist ersichtlich, dass Argumente alle Parameter enthalten und ein Längenattribut haben. Es ist auch ersichtlich, dass sein Typ Objekt ist und nach der Konvertierung in eine Zeichenfolge das Objekt Argumente ist, das das Arguments-Objekt darstellt. Gleichzeitig können Sie sehen, dass es auch ein Attribut „Caller“ hat, und der Wert dieses Attributs scheint der von uns definierte Funktionskörper zu sein. Lassen Sie uns ihn also ausgeben und sehen Funktion args(a, b, c) { console.log(Argumente.Angerufener) } args('a', 'b', 'c') Wie Sie sehen, ist die Ausgabe tatsächlich unsere Funktion selbst. Da es sich selbst darstellt, rufen Sie diese Eigenschaft bitte nicht leichtfertig auf, denn wenn es einmal aufgerufen wurde, ruft es sich selbst immer wieder auf und gerät in eine Endlosschleife, bis der Stapel überläuft. So was Funktionsargumente (a, b, c) { konsole.log(123) argumente.callee() } args('a', 'b', 'c') DOM-Liste (HTMLCollection) Diese Kategorie bezieht sich auf die Sammlung von DOM-Listen, die über getElementsByTagName oder getElementsByClassName oder getElementsByName abgerufen werden. <div>Das Wetter ist heute nicht sehr gut</div> <div>Weil es regnet</div> <Skript> var domList = document.getElementsByTagName('div') console.log(domList) console.log(Typ der DomList) Konsole.log({}.toString.call(domList)) </Skript> Es ist ersichtlich, dass domList auch ein Längenattribut hat. Und nach der Konvertierung in eine Zeichenfolge ist es das Objekt HTMLCollection. Stellt ein HTMLCollection-Objekt dar Knotenliste Eine Sammlung von Knoten, die über document.querySelectorAll() abgerufen wurden <div class="abc">Das Wetter ist heute nicht sehr gut</div> <div class="abc">Weil es regnet</div> <Skript> var nodeList = document.querySelectorAll('div') console.log(Knotenliste) console.log(Typ der Knotenliste) Konsole.log({}.toString.call(nodeList)) </Skript> Es ist ersichtlich, dass nodeList auch ein Längenattribut hat und nach der Konvertierung in eine Zeichenfolge ein Objekt NodeList ist, das ein NodeList-Objekt darstellt. Dieses Objekt entspricht der Iterator-Schnittstellenspezifikation und kann daher von for...of durchlaufen werden. (Ich werde hier nicht erklären, was ein Iterator ist. Sie können selbst nachschauen, was ein Iterator ist.) Merkmale Es gibt keine Prototypmethode für Arrays, aber wenn ein Array eine Arraymethode aufrufen muss, um etwas zu tun, kann dies auf folgende Weise erfolgen
Anrufen und Ausleihmethoden beantragen Tatsächlich haben wir diese Methode oben bereits verwendet. Haben wir beim Konvertieren eines Klassenarrays in einen String die toString()-Methode des obigen Objekts übernommen? Hier noch ein paar weitere Funktion args(a, b, c) { Array.prototype.push.call(Argumente, '123') console.log(Argumente) Array.prototype.splice.call(Argumente, 0, 1) console.log(Argumente) Array.prototype.unshift.apply(Argumente, [1,2,3]) console.log(Argumente) } args('a', 'b', 'c') Array-ähnlich zu ArrayNachdem Sie das Klassenarray in ein Array konvertiert haben, können Sie die jeweiligen Array-Methoden nach Belieben aufrufen. Wie konvertieren Sie also das Klassenarray in ein Array? Sie können einige Array-Methoden verwenden, um ein neues Array zu generieren Funktion args(a, b, c) { let arr = Array.prototype.slice.call(Argumente) console.log(arr) arr = Array.prototype.concat.apply([], Argumente) console.log(arr) } args('a', 'b', 'c') Konvertieren in ein Array mit der neuen Methode von ES6ES6 fügt eine neue Array.from-Methode hinzu, die ein Klassenarray in ein Array konvertieren kann. Außerdem steht ein Spread-Operator zur Verfügung, um ein arrayähnliches Objekt direkt in einem Array zu erweitern. Funktion args(a, b, c) { let arr = Array.from(Argumente) console.log(arr) arr = [...Argumente] console.log(arr) } args('a', 'b', 'c') So, das war’s mit den Klassenarrays. Wir sind gerne für eine gemeinsame Diskussion da. ZusammenfassenDies ist das Ende dieses Artikels über JavaScript-Klassenarrays. Weitere relevante Inhalte zu JavaScript-Klassenarrays finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: MySQL-Sortierung – Chinesische Details und Beispiele
>>: Detaillierte Erklärung des Docker-Befehls zum Sichern des Linux-Systems
Nicht nur das Verhalten verschiedener Browser ist...
Erster Blick auf die Wirkung: Code: 1.html <di...
Als ich mir selbst die Webentwicklung beibrachte,...
Vor zwei Tagen habe ich das Double 11-Shopping-Fe...
Vorwort Samba ist eine kostenlose Software, die d...
1. Laden Sie das Ubuntu16.04-Image und den entspr...
Sie können yum verwenden, um alle Abhängigkeiten ...
Zum Ausführen von Docker sind Root-Rechte erforde...
Vorwort Also habe ich diesen Blog geschrieben. Di...
Nginx Rewrite-Nutzungsszenarien 1. Sprung der URL...
Phänomen: Wandeln Sie das Div in einen Kreis, ein...
Frage: In einigen Browsern, wie zum Beispiel im K...
Überspringen Sie die Docker-Installationsschritte...
Inhaltsverzeichnis Einführung Installieren 1. Ers...
Installation und Konfiguration von MySQL im ZIP-F...