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

Signaler
Messages postés
18
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
15 avril 2010
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
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

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
10
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