Salut,
Je me pose une petite question relativement simple mais à laquelle je ne trouve pas de réponses car de toute manière c'est un truc de gourou barbu.
Bref je me demandais quelle était la meilleure manière d'évaluer le corps d'une méthode contenu dans une chaîne.
En gros je reçoit la chaîne suivante :
var maFunc = "alert('hello it\'s me !');";
L'idée est de mettre ce code dans une fonction pour pouvoir l'attacher à des événements ect bref faire pouette pouette avec.
A ce moment j'ai le choix, soit je fais :
eval("var newFunc = function(){ "+maFunc.toString()+"}");
Ou alors
1 2
|
var newFunc = new Function( maFunc.toString() ); |
Fondamentalement il n'y à pas de grd changement, c'est simplement une histoire de memory leak, de partage des références entre le dom et le moteur js ect ect et aussi in fine, obtenir un fonctionnement identique sur tous les navigateurs.
Donc d'après vous, quelle méthode est la plus adaptée, la plus <secure>, la mieux prise en charge, la plus optimum ?
merci,
a plus
Partager