3 votes

Javascript Puzzle - One Liner

Pouvez-vous résoudre ce problème sans générer d'erreur ? La réponse est en une ligne. Il s'agit d'une offre d'emploi morte, la réponse était demandée dans la réponse. J'ai pensé qu'il s'agissait d'une manière intelligente d'éliminer les répondants, mais je n'arrive pas à y répondre sans obtenir une erreur.

La solution évidente :

f.moo(alert(f.foo));

Mais cela jette TypeError: callback is undefined { message="callback is undefined", more...}

var f = (function(){
  return {
    foo : "bar",
    moo : function(callback){
      callback.call(this)
    }
  }
})();
//alert "bar" by foo

10voto

VoteyDisciple Points 23229

Vous devez passer f.moo une fonction. Vous appelez alert et transmet le résultat de alert ( qui n'est rien) à la place.

f.moo(function() { alert(this.foo); });

2voto

cdhowie Points 62253

Euh...

alert(f.foo);

Ou avez-vous oublié de mentionner une exigence ?

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