Boucle "for in" en javascript

juanou Messages postés 145 Statut Membre -  
juanou Messages postés 145 Statut Membre -
Bien le bonjour !

Je suis en train de passer un petit javascript au test de http://www.jslint.com/
Et ça bloque sur une erreur que je ne comprends pas :

"Problem at line 13 character 9: The body of a for in should be wrapped in an if statement to filter unwanted properties from the prototype."

(je traduirais ça par "le corps d'un for in devrait être englobé dans une instruction if pour filtrer les propriétés du prototype")

Voici la ligne incriminée :
"for ( action in this.actions ) { this.actions[action](); }"

Qu'est-ce donc qui va pas dans mon for in ???

(Merci de votre aide)

3 réponses

Utilisateur anonyme
 
Je pense que c'est juste pour te dire de vérifier que ton this.actions n'est pas null avant de "lancer" la for in. Je le vois plus comme un warning qu'une erreur.
1
juanou Messages postés 145 Statut Membre 58
 
Oui en effet ça ne me paraissait pas très important, mais j'avais l'impression que ça faisait bugger mon script sous Internet Explorer. (Avec ie il faut s'attendre à tout !)

J'ai donc utilisé une autre méthode ( à base de for ( i ; i<x ; i++ ) ), pour laquelle jslint n'avait rien à me reprocher. Et du coup je me suis rendu compte que le bug ne venait pas de là dutout !!

Je n'ai pas vérifié si ton astuce passait le test. Mais j'en prends bonne, pour un jour où je serai obligé de faire du for in.

Merci.
0
juanou Messages postés 145 Statut Membre 58
 
Oui en effet ça ne me paraissait pas très important, mais j'avais l'impression que ça faisait bugger mon script sous Internet Explorer. (Avec ie il faut s'attendre à tout !)

J'ai donc utilisé une autre méthode ( à base de for ( i ; i<x ; i++ ) ), pour laquelle jslint n'avait rien à me reprocher. Et du coup je me suis rendu compte que le bug ne venait pas de là dutout !!

Je n'ai pas vérifié si ton astuce passait le test. Mais j'en prends bonne, pour un jour où je serai obligé de faire du for in.

Merci.
0