[POO] Bug sur une fonction récursive : renvoit undefined
Bonjour,
j'ai un bug très bizarre. je recherche une chaine de caractère dans une autre grâce à une fonction récursive. En testant cette fonction récursive avec firbug, on voit que cette fonction marche : quand on arrive au return, la valeur qui va être retourné est la bonne. Mais la variable qui est initialisée avec cette valeur reste à undefined !! Je comprends rien.
voici mon code :
la fonction récursive :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
var Find_ref = function(ID, fin){
var char_fin = ID.substring(fin, fin+1);
if(char_fin == '|'){
var reference = ID.substring(13,fin);
return reference;
}
else{
Find_ref(ID, fin+1);
}
} |
et l'endroit où elle est appelée :
Code:
1 2 3 4 5 6 7
|
this.Valider = function(val){
var ID = val.getId();
var ref_fiche = null;
ref_fiche = Find_ref(ID, 13);
alert(ref_fiche);
} |
"ref_fiche" reste toujours à undefined alors que dans firebug, on voit que la variable "ref" de la fonction fonction Find_ref à bien la valeur qu'elle doit avoir (une chaine de caractère).