begin process at 2010 03 22 06:44:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

problème de variable dans fonction récursive


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème de variable dans fonction récursive

lundi 2 février 2009 à 19:05:55 | problème de variable dans fonction récursive

glipper

Membre Club
Bonjour,
j'essai de faire une fonction recursive en javascript, qui parcourt tous les sous-noeuds contenus dans un noeud.


function clearBloc(node) {
if (node.hasChildNodes()) {
nChilds = node.childNodes.length;
for (i=0; i<nChilds; i++)
clearBloc(node.childNodes[i]);
}
}

Il me semble que ça devrait fonctionner. Pourtant, la valeur de la variable 'nChilds' change losque la fonction se rappelle elle-même. C'est assez étrange, puisque la variable nChilds est déclaré à l'interieur de la fonction, donc ce n'est pas une variable globale. Alors je ne comprend pas trop ce qui se passe.

J'ai fait des recherches sur la recursivité dans les scripts javascript, et apparament il ne devrait pas y avoir de problèmes j'ai l'impression. Quelqu'un aurait-il une idée du problème ?

Actuellement :
   entree_fonction (nChild vaut 20)
      ---> entree_fonction (nChild vaut 1)
               ---> entree fonction
               ---> sortie fonction
      ---> sortie fonction (nChild vaut 1)
   sortie fonction (nChild vaut 1 ??????)

mardi 3 février 2009 à 05:02:51 | Re : problème de variable dans fonction récursive

Bul3

Membre Club
bonjour,
>>la valeur de la variable 'nChilds' change losque la fonction se rappelle elle-même
ben... puisque tu la recalcules : nChilds = node.childNodes.length; ça me semble normal
Cordialement
[mon Site][M'écrire]Bul

mardi 3 février 2009 à 05:30:19 | Re : problème de variable dans fonction récursive

Bul3

Membre Club
et peut-être
varnChilds = node.childNodes.length;
te conviendrait-il ? va savoir ?
[mon Site][M'écrire]Bul

mardi 3 février 2009 à 06:54:20 | Re : problème de variable dans fonction récursive

Bul3

Membre Club
Réponse acceptée !
j'aurais du répondre :
>>puisque la variable nChilds est déclaré à l'interieur de la fonction, donc ce n'est pas une variable globale
elle n'est pas déclarée justement : donc c'est variable globale
var permet de déclarer.
[mon Site][M'écrire]Bul

mardi 3 février 2009 à 18:23:48 | Re : problème de variable dans fonction récursive

PetoleTeam

Membre Club
Bonjour,
tout à fait vrai mon cher Bul3
on le le dira jamais assez de déclarer les variables avec le mot clé var et de mettre un ; en fin d'instruction
Tiens juste pour test
<html>
<head>
<script type="text/javascript">
//-------------
function Test(){
  i = 0;
  for( ;i<10;i++);;;;
  alert("Test()\n i = " +i);
}
Test();
alert("Hors Fct\n i = " +i);
</script>
</head>
<body>
</body>
</html>


il suffit de rajouter un var devant le i = 0; pour voir le résultat...
var i = 0;

;O)


Cette discussion est classée dans : problème, fonction, variable, node, nchild


Répondre à ce message

Sujets en rapport avec ce message

Problème de variable [ par mightteam ] Bonjour ,Alors voila j'ai un petit soucis :J'ai crée une fonction en javascript sensée changé la couleur de mon tableau en fonction de la couleur que Problème avec variable globale [ par gr43 ] Bonjour, Un petit problème avec variable globale.  J'aimerais mettre à 0 une variable globale qd je click sur un lien qui lance la fonction suppPoint( Problème d'affichage dans AJAX [ par cool0501 ] Bonjour tout le monde,J'aurai voulu savoir si quelqu'un connaissait une fonction ou une méthode permettant d'afficher l'intégralité d'une variable (av Problème avec le onload [ par Geno312 ] Bonjour,Voici une fonction javascript que j'ai dans mon head:function statutChange(){    var chaine = document.getElementsByName("statut1")[0].options fonction replace() et code ISO [ par lddsoft ] Bonjour,Cela va faire un bon bout de temps que je galère et que je cherche sur le web, mais je ne trouve pas de réponse à mon problème. Il peut paraît Problème avec une variable de session [ par lili9578 ] Bonjour,voici un petit problème que je n'arrive pas à résoudre. Dans le cadre de mon travail, je récupère via PHP un nombre de données d'une table. En Attendre la fin du fonction pour continuer [ par chrisotphe7502 ] Bonjour, mon problème est le suivant, je créé un site web embarqué que je programme en javascript et HTML. Dans une des pages web, j'appel une fonctio problème avec une fonction dans une boucle [ par pierre4012 ] Bonjour à tous,J'ai un petit problèm '<a href="index1_1.jsp#lienRech" onmousedown="appelInfo(resultPass);return false;"> Problème!!!!!!! [ par ammouna24 ] Bonjour, Je suis débutante avec javascript et je travaille sur l'api googleMaps dans le cadre de mon Projet de fin d'étude. Mon but est le suivant:: D Comment passer une variable d'une fonction javascript dans un code jsp dans la même fonction [ par ammouna24 ] Bonjour, Voici le bout de code que je veux faire, je sais que c'est débil de faire comme ça mais en fait ce que je veux c'est que je passe la variable


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,265 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales