Signification fonction javascript

Résolu/Fermé
Christelle - 25 juin 2011 à 15:39
 christelle - 25 juin 2011 à 23:45
Bonjour,



J'ai récupéré un petit script javascript sur le net il y a longtemps et aujourd'hui je nettoie/améliore le code.
Il y a un petit passage que je ne comprends pas. Je ne sais pas comment l'interpréter, comment le lire.
Pourriez- vous me donner un coup de main?
Voici le code:

// Fonction de comparaison
if (result = test('../fonction.php?valeur='+escape(texte)+'&id=<?php echo $ID; ?>')){
				if (result == 1)
					alert('result = 1');
				else if (result == 2)
					alert('result = 2');
				else
					alert('result ='+result);
			}


J'ai l'impression de ne jamais tomber dans cette boucle, je n'ai ni 1 ni 2 d'affiché.
J'ai une fonction TEST qui fait quelques opérations plus haut avec les paramètres valeur et id et qui est bien éxécutée. Je bloque au niveau du if (result = test(.....)){
et alert('result ='+result);

En Français ça donnerai quoi? "Si result ....."
merci pour votre aide!

5 réponses

avion-f16 Messages postés 19252 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 10 février 2025 4 505
25 juin 2011 à 19:19
Salut,

Ça n'a aucun intérêt de comparer la variable result avec test() si après on la compare avec 1 puis 2.

La première condition sert à vérifier si result() retourne autre-chose que "false" (en cas d'erreur par exemple). S'il n'y a aucune erreur dans la fonction test(), alors result contient son résultat qu'on traite à la suite.
2
avion-f16 Messages postés 19252 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 10 février 2025 4 505
25 juin 2011 à 22:28
Pour exécuter la fonction seulement test(), oui.
Mais le code que tu montres est contenu dans une autre fonction (si j'ai bien compris) qui fait donc appel à la fonction test() et qui traite ensuite la valeur retournée par test() s'il n'y a aucune erreur.
2
Utilisateur anonyme
25 juin 2011 à 17:57
Pour vérifier si il est égal il faut en mettre 2 de égal.. ==
0
oui, comme je l'ai fait dans if (result == 1) par exemple, mais que voudrait dire le if (result = test( avec un seul égal? il exécuterait la fonction?

sachant que tout marche correctement... je cherche juste à comprendre
merci
0
Utilisateur anonyme
25 juin 2011 à 18:21
A oui en effet sa exécute la fonction, et la fonction retourne true ou false et en même temp stock la variable dans result ( pour pouvoir la réutiliser après ).

Enfin ce n'est que mon avis
0
Donc en fait pour simplement éxécuter la fonction il suffirait de faire:
test('../fonction.php?valeur='+escape(texte)+'&id=<?php echo $ID; ?>');


c'est bien cela?

merci à tous! :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Super merci pour toutes les précisions. J'ai bien compris.
Pour info, toutes les vérifications sont faites dans test() donc je n'ai plus besoin de vérifier et de tester le retour, je vais seulement laisser:
test('../fonction.php?valeur='+escape(texte)+'&id=<?php echo $ID; ?>');

merci! bonne soirée!
0