Drei Attribute von JavaScript-Array-Objekten
1. Längenattribut
Das Längenattribut stellt die Länge des Arrays dar, also die Anzahl der darin enthaltenen Elemente. Da der Index eines Arrays immer bei 0 beginnt, sind die oberen und unteren Grenzen eines Arrays: 0 bzw. Länge-1. Im Gegensatz zu den meisten anderen Sprachen ist die Längeneigenschaft von JavaScript-Arrays variabel, was besondere Aufmerksamkeit erfordert. Wenn das Längenattribut größer eingestellt wird, ändert sich der Zustand des gesamten Arrays nicht. Nur wenn das Längenattribut kleiner als das Original gesetzt wird, wird das Längenattribut größer oder gleich den Elementen im ursprünglichen Array Länge wird Alle Werte gehen verloren. Das Folgende ist ein Beispiel, das die Änderung des Längenattributs demonstriert:
var arr=[12,23,5,3,25,98,76,54,56,76]; //定义了一个包含10个数字的数组 alert(arr.length); //显示数组的长度10 arr.length=12; //增大数组的长度 alert(arr.length); //显示数组的长度已经变为12 alert(arr[8]); //显示第9个元素的值,为56 arr.length=5; //将数组的长度减少到5,索引等于或超过5的元素被丢弃 alert(arr[8]); //显示第9个元素已经变为"undefined" arr.length=10; //将数组长度恢复为10 alert(arr[8]); //虽然长度被恢复为10,但第9个元素却无法收回,显示"undefined"
Aus dem obigen Code können wir die Natur des Längenattributs deutlich erkennen. Das Längenobjekt kann jedoch nicht nur explizit festgelegt, sondern auch implizit geändert werden. Sie können in JavaScript auch eine nicht deklarierte Variable verwenden (die sich auf ein Element mit einem Index bezieht, der größer oder gleich der Länge ist). In diesem Fall wird der Wert des Längenattributs auf festgelegt Wert des verwendeten Elementindex. Zum Beispiel der folgende Code:
var arr=[12,23,5,3,25,98,76,54,56,76]; alert(arr.length); arr[15]=34; alert(arr.length);
Der Code definiert auch ein Array mit 10 Zahlen. Aus der Alert-Anweisung geht hervor, dass seine Länge 10 beträgt. Dann wird das Element mit dem Index 15 verwendet und ihm der Wert 15 zugewiesen, d. h. arr[15]=34. Zu diesem Zeitpunkt wird die Alert-Anweisung verwendet, um die Länge des Arrays auszugeben, und das Ergebnis ist 16. Unabhängig davon ist dies eine überraschende Funktion für Entwickler, die an stark typisierte Programmierung gewöhnt sind. Tatsächlich beträgt die anfängliche Länge eines Arrays, das mit der neuen Array()-Form erstellt wurde, 0. Es ist die Operation undefinierter Elemente, die dazu führt, dass sich die Länge des Arrays ändert.
Wie Sie der obigen Einführung entnehmen können, ist das Längenattribut so magisch, dass Sie es verwenden können, um die Kapazität des Arrays einfach zu erhöhen oder zu verringern. Daher hilft ein tiefes Verständnis des Längenattributs, es während des Entwicklungsprozesses flexibel zu nutzen.
2. Das Prototypattribut
gibt eine Referenz auf den Prototyp des Objekttyps zurück. Die Prototypeigenschaft ist für das Objekt üblich.
objectName.prototype
objectName-Parameter ist der Name des Objektobjekts.
Beschreibung: Verwenden Sie das Prototypattribut, um eine Reihe grundlegender Funktionen der Objektklasse bereitzustellen. Neue Instanzen eines Objekts „erben“ die dem Prototyp des Objekts zugewiesenen Operationen.
Für Array-Objekte veranschaulicht das folgende Beispiel die Verwendung des Prototyp-Attributs.
Fügen Sie dem Array-Objekt eine Methode hinzu, die den maximalen Elementwert im Array zurückgibt. Um dies zu erreichen, deklarieren Sie eine Funktion, fügen Sie sie zu Array.prototype hinzu und verwenden Sie sie.
function array_max( ) { var i, max = this[0]; for (i = 1; i < this.length; i++) { if (max < this[i]) max = this[i]; } return max; } Array.prototype.max = array_max; var x = new Array(1, 2, 3, 4, 5, 6); var y = x.max( );
Nachdem dieser Code ausgeführt wurde, enthält y den Maximalwert im Array x, oder sagen wir 6.
3. Das Konstruktorattribut
stellt die Funktion dar, die das Objekt erstellt.
object.constructor //object ist der Name des Objekts oder der Funktion.
Erklärung: Die Konstruktoreigenschaft ist Mitglied aller Objekte mit Prototyp. Sie umfassen alle nativen JScript-Objekte mit Ausnahme von Global- und Math-Objekten. Die Eigenschaft „Konstruktor“ enthält einen Verweis auf die Funktion, die eine bestimmte Objektinstanz erstellt.
Zum Beispiel:
x = new String("Hi"); if (x.constructor == String) // 进行处理(条件为真)
oder
function MyFunc { // 函数体。 } y = new MyFunc; if (y.constructor == MyFunc) // 进行处理(条件为真)
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von drei Attributcodebeispielen von Arrays in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!