65 votes

appeler eval() dans un contexte particulier

J'ai la "classe" javaScript suivante :

 A = (function() {
   a = function() { eval(...) };
   A.prototype.b = function(arg1, arg2) { /* do something... */};
})();

Supposons maintenant que dans eval() je passe une chaîne qui contient l'expression appelant b avec quelques arguments :

  b("foo", "bar")

Mais alors j'obtiens l'erreur que b n'est pas défini. Ma question est donc : comment appeler eval dans un contexte de classe A ?

36voto

user3751385 Points 26

Comment appeler eval dans un contexte donné ? 3 mots. Utilisez une fermeture.

 var result = function(str){
  return eval(str);
}.call(context,somestring);

Bam.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X