[POO] Window pour lancer une fonction
Bonjour
Je n'ai pas de problème particulier mais juste une interrogation :
J'ai une chaine de caractère contenant le nom d'une fonction. Cette fonction reçoit en paramètre un objet et effectue un traitement (peu importe) :
Code:
1 2 3 4 5 6 7
|
var ch = "maFonction";
var param = document.getElementById('monElement');
function maFonction(obj) {
alert(obj.nodeName);
} |
Le challenge est de se servir de la chaine de caractère pour appeler la fonction sans oublier le paramètre param.
J'ai d'abord pensé à eval
Code:
eval(ch+"(param)");
Cela marche correctement sous FIREFOX (je n'ai testé que sur celui-là, mais peu importe encore une fois). J'ai trouvé une autre solution :
qui fonctionne tout aussi bien mais est-ce vraiment 'légal' ? Cette méthode, même si la syntaxe est tout à fait valide, me paraît pas très propre ... Qu'en pensez-vous ? Laquelle est la meilleure ?