Heim  >  Artikel  >  Web-Frontend  >  Erläuterung zur Verwendung der for in-Anweisung in js_javascript-Kenntnissen

Erläuterung zur Verwendung der for in-Anweisung in js_javascript-Kenntnissen

WBOY
WBOYOriginal
2016-05-16 16:02:351483Durchsuche

Code kopieren Der Code lautet wie folgt:

for(Variable im Objekt)
Aussage

Variable ist eine var-Anweisung, die eine Variable, ein Element eines Arrays oder ein Attribut eines Objekts deklariert
Innerhalb des Schleifenkörpers wird der Variablen ein Eigenschaftsname des Objekts als String zugewiesen.

Hinweis: Einige Eigenschaften des Objekts sind auf die gleiche Weise als schreibgeschützt, permanent (nicht löschbar) oder nicht aufzählbar markiert. Diese Eigenschaften können nicht mithilfe von for/in-Schleifen aufgezählt werden. Obwohl alle benutzerdefinierten Eigenschaften aufzählbar sind, sind viele interne Eigenschaften, einschließlich aller internen Methoden, nicht aufzählbar. Darüber hinaus können Objekte Eigenschaften von anderen Objekten erben, und diese geerbten benutzerdefinierten Eigenschaften können mithilfe einer for/in-Schleife aufgezählt werden.

Eine Verwendung wie

for(var i=0;i

Zum Beispiel:

Code kopieren Der Code lautet wie folgt:

var a = ["a", "b", "c"];
for(var el in a){
alarm(a[el]);
}

Dies dient dazu, alle Elemente in a aufzuzählen. Natürlich kann das obige Beispiel verwendet werden
Code kopieren Der Code lautet wie folgt:

for(var i=0,len=a.length;i alarm(a[i]);
}

Diese Methode wird zum Auflisten in einer Schleife verwendet, aber manchmal funktioniert diese Methode möglicherweise nicht.
Zum Beispiel:
Code kopieren Der Code lautet wie folgt:

var a = {"first":1,"second":2,"third":3};

Derzeit können Sie nur for in verwenden, um die Liste zu erschöpfen.

Ob ein Objekt vollständig erfasst werden kann, kann anhand des Attributs propertyIsEnumerable beurteilt werden. Die Beschreibung lautet wie folgt:

Ob object.propertyIsEnumerable(propname) die Eigenschaft durch die for/in-Schleife sehen kann
propname ist eine Zeichenfolge, die den Namen des Objektattributs
enthält Wenn das Objekt über eine nicht geerbte Eigenschaft namens propname verfügt und die Eigenschaft aufzählbar ist (d. h. sie kann mithilfe einer for/in-Schleife aufgezählt werden), wird true

zurückgegeben

Beschreibung:

Sie können die for/in-Anweisung verwenden, um die „aufzählbaren“ Eigenschaften eines Objekts zu durchlaufen, aber nicht alle Eigenschaften eines Objekts sind aufzählbar. Eigenschaften, die dem Objekt durch JavaScript-Code hinzugefügt werden, sind aufzählbar, und interne vordefinierte Eigenschaften von Objekten ( wie Methoden) sind normalerweise nicht aufzählbar.

Die Methode propertyIsEnumerable() überprüft nicht die Prototypenkette, was bedeutet, dass sie nur auf lokale Eigenschaften des Objekts angewendet wird und die Aufzählbarkeit geerbter Eigenschaften nicht erkennen kann

Code kopieren Der Code lautet wie folgt:

var o=new Object();
o.x=3,14;
o.propertyIsEnumerable("x");//true
o.propertyIsEnumerable("y");//false hat nicht die Eigenschaft
o.propertyIsEnumerable("toString");//false inherited
Object.prototype.propertyIsEnumerable("toString");//false nonenumable
Stellungnahme:
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