Une utilisation comme for(var i=0;i<len;i++) peut généralement être remplacée par for in.
Par exemple:
Copiez le code comme suit :
var a = ["a", "b", "c"];
pour(var el dans a){
alert(a[el]);
}
Il s'agit d'énumérer tous les éléments de a. Bien entendu, l'exemple ci-dessus peut être utilisé.
Copiez le code comme suit :
pour(var i=0,len=a.length;i<len;i++){
alerte(a[i]);
}
Cette méthode est utilisée pour lister dans une boucle, mais parfois cette méthode peut ne pas fonctionner.
Par exemple:
Copiez le code comme suit :
var a = {"premier":1,"seconde":2,"troisième":3};
Pour le moment, vous ne pouvez utiliser que in pour épuiser la liste.
La question de savoir si un objet peut être exhaustif peut être jugée via l'attribut propertyIsEnumerable. La description est la suivante :
Propriété propertyIsEnumerable
Renvoie une valeur booléenne indiquant si la propriété spécifiée fait partie d'un objet et si la propriété est énumérable.
Copiez le code comme suit :
objet.propertyIsEnumerable(proName)
paramètre
objet
Requis. un objet.
nompro
Requis. Une valeur de chaîne pour le nom de la propriété.
illustrer
La propriété propertyIsEnumerable renvoie true si proName existe dans l'objet et peut être énuméré à l'aide d'une boucle For...In. Si l'objet n'a pas la propriété spécifiée ou si la propriété spécifiée n'est pas énumérable, la propriété propertyIsEnumerable renvoie false. En règle générale, les propriétés prédéfinies ne sont pas énumérables, alors que les propriétés définies par l'utilisateur sont toujours énumérables.
La propriété propertyIsEnumerable ne prend pas en compte les objets de la chaîne de prototypes.