Javascript, Appeler une fonction avec un nom de fonction dynamique, equivalent à

sdess Messages postés 18 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 15 avril 2010 - 31 déc. 2008 à 14:44
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 31 déc. 2008 à 14:58
Bonjour,

J'ai beaucoup cherché pour trouver cette solution, que j'ai trouvé en tatonant, alors je la documente ici :

J'aivais besoin de transmettre une fonction (dynFunction) en paramètre à une autre function (fixFunction), avec la contrainte de déterminer son nom dynamiquement. Une partie de ce nom de fonction est fixe, l'autre étant un id d'élément. Ceci étant utile dans le cadre de la création de composants génériques.

J'ai cherché pour une méthode du style getFunctionByName, mais cela n'existe pas.

La solution que j'ai trouvé et qui fonctionne est la suivante :

window['NOM_DE_FONCTION_DYNAMIQUE_EN_FORMAT_STRING']

Cela retourne bien la fonction que l'on cherche à appeler.

exemple :

fixFunction(window[dynFuntion]);

dans mon cas, j'ai fait :
fixFunction(window['partieFixe' + idElement]);

Espérant rendre service

Cordialement,

Steeve

1 réponse

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
31 déc. 2008 à 14:58
bonjour
effectivement ça peut fonctionner ainsi ( window['Nom_de_la_Fonction'] )
et c'est bien meilleur (?) que eval ou je ne sais quoi
>>Espérant rendre service
c'est le cas
et ça mériterait probablement d'être dans la FAQ js
>>J'ai beaucoup cherché pour trouver cette solution
fallait poser la question ici !  on t'aurait dit   ;o))
Cordialement

          [mon Site] [M'écrire] Bul         
0
Rejoignez-nous