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 ??????)