Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de fonction dans une boucle for

3 réponses
Avatar
Philippe
Bonjour,

J'ai fait une boucle FOR pour exécuter plusieurs fois à la suite une
fonction.

En inscrivant un appel de fonction dans la boucle FOR, la boucle ne
s'exécute qu'une fois :

for(i=0;i<nbresvar;i=i+2)
{
alert(i);
calcul(nbre[i]);
}

En inscrivant pas cet appel de fonction, la boucle s'exécute deux fois.

for(i=0;i<nbresvar;i=i+2)
{
alert(i);
}


Quelqu'un peut m'expliquer ce problème ?


Merci

3 réponses

Avatar
Thibault TAILLANDIER
Bonjour,

Bonjour


En inscrivant un appel de fonction dans la boucle FOR, la boucle ne
s'exécute qu'une fois :
for(i=0;i<nbresvar;i=i+2) {
alert(i);
calcul(nbre[i]);
}

En inscrivant pas cet appel de fonction, la boucle s'exécute deux fois.

Quelqu'un peut m'expliquer ce problème ?
Met le alert() après l'appel à calcul() et il le fera 0 fois je pense :-)

As-tu bien un tableau nbre de déclaré ?
A-t-il bien des éléments ?

Si oui, c'est en rapport avec le comportement de la fonction calcul().
Donne nous le code de cette fonction, et nous pourrons t'en dire plus.
Peut-etre retourne-t-elle une erreur non-catchée.

En utilisant la console Javascript de Firefox, tu pourrais très
facilement débugger ces petits tracas :-)

Merci


De rien
Bye
--
Thibault

Avatar
Daniel Dupont
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig4D126C92F2061C17E008F62C
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable


J'ai fait une boucle FOR pour exécuter plusieurs fois à la suite un e
fonction.

En inscrivant un appel de fonction dans la boucle FOR, la boucle ne
s'exécute qu'une fois :

for(i=0;i<nbresvar;i=i+2)
{
alert(i);
calcul(nbre[i]);
}

En inscrivant pas cet appel de fonction, la boucle s'exécute deux foi s.

for(i=0;i<nbresvar;i=i+2)
{
alert(i);
}


Quelqu'un peut m'expliquer ce problème ?


Je vérifierais que la fonction 'calcul()' ne modifie la valeur de la
variable 'nbresvar' ou éventuellement de la variable 'i'.

A+

--
Daniel Dupont


--------------enig4D126C92F2061C17E008F62C
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (MingW32)

iD8DBQFCblMM64STxFcaOnYRAjraAKCFqp4eL4UGrZgAaAHhiisTq4Y1WACgtf+d
11sTpNP2yfZWC49L0gL2qYY =gZGT
-----END PGP SIGNATURE-----

--------------enig4D126C92F2061C17E008F62C--

Avatar
Philippe
"Thibault TAILLANDIER" a écrit dans le
message de news: 426e52f4$0$7213$
Bonjour,

Bonjour


En inscrivant un appel de fonction dans la boucle FOR, la boucle ne
s'exécute qu'une fois :
for(i=0;i<nbresvar;i=i+2) {
alert(i);
calcul(nbre[i]);
}

En inscrivant pas cet appel de fonction, la boucle s'exécute deux fois.

Quelqu'un peut m'expliquer ce problème ?
Met le alert() après l'appel à calcul() et il le fera 0 fois je pense :-)

As-tu bien un tableau nbre de déclaré ?
A-t-il bien des éléments ?

Si oui, c'est en rapport avec le comportement de la fonction calcul().
Donne nous le code de cette fonction, et nous pourrons t'en dire plus.
Peut-etre retourne-t-elle une erreur non-catchée.

En utilisant la console Javascript de Firefox, tu pourrais très
facilement débugger ces petits tracas :-)



Parfait, en fait, c'était un problème de boucle, l'itération I de FOR
entrait en conflit avec la boucle WHILE de la fonction :-(

Problème résolu, merci d'avoir pris le temps de me répondre.