Maison > interface Web > js tutoriel > Explication sur l'utilisation de l'instruction for in dans les compétences js_javascript

Explication sur l'utilisation de l'instruction for in dans les compétences js_javascript

WBOY
Libérer: 2016-05-16 16:02:35
original
1538 Les gens l'ont consulté

Copier le code Le code est le suivant :

pour (variable dans l'objet)
déclaration

variable est une instruction var qui déclare une variable, un élément d'un tableau ou un attribut d'un objet
À l'intérieur du corps de la boucle, un nom de propriété de l'objet est attribué à la variable sous forme de chaîne.

Remarque : Certaines propriétés de l'objet sont marquées comme en lecture seule, permanentes (non supprimables) ou non énumérables de la même manière. Ces propriétés ne peuvent pas être énumérées à l'aide de boucles for/in. Bien que toutes les propriétés définies par l'utilisateur soient énumérables, de nombreuses propriétés internes, y compris toutes les méthodes internes, ne le sont pas. De plus, les objets peuvent hériter des propriétés d'autres objets, et ces propriétés héritées définies par l'utilisateur peuvent être énumérées à l'aide d'une boucle for/in.

Une utilisation comme

for(var i=0;i

Par exemple :

Copier le code Le code est le suivant :

var a = ["a","b","c"];
pour(var el dans a){
alert(a[el]);
>

Il s'agit d'énumérer tous les éléments dans a. Bien sûr, l'exemple ci-dessus peut être utilisé
Copier le code Le code est le suivant :

pour(var i=0,len=a.length;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 :
Copier le code Le code est le suivant :

var a = {"premier":1,"deuxième":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 par l'attribut propertyIsEnumerable. La description est la suivante :

Si object.propertyIsEnumerable(propname) peut voir la propriété via la boucle for/in
propname est une chaîne contenant le nom de l'attribut de l'objet
Si l'objet a une propriété non héritée nommée propname et que la propriété est énumérable (c'est-à-dire qu'elle peut être énumérée à l'aide d'une boucle for/in), retournez true

Description :

Vous pouvez utiliser l'instruction for/in pour parcourir les propriétés « énumérables » d'un objet, mais toutes les propriétés d'un objet ne sont pas énumérables. Les propriétés ajoutées à l'objet via le code JavaScript sont énumérables et les propriétés internes prédéfinies des objets ( telles que les méthodes) ne sont généralement pas énumérables.

La méthode propertyIsEnumerable() ne vérifie pas la chaîne de prototypes, ce qui signifie qu'elle s'applique uniquement aux propriétés locales de l'objet et ne peut pas détecter l'énumération des propriétés héritées

Copier le code Le code est le suivant :

var o=nouvel Objet();
o.x=3.14;
o.propertyIsEnumerable("x");//true
o.propertyIsEnumerable("y");//false n'a pas la propriété
o.propertyIsEnumerable("toString");//false hérité
Object.prototype.propertyIsEnumerable("toString");//false nonnumerable
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal