Existe-t-il un moyen d'obtenir la fonction actuelle dans la fonction actuelle?

Désolé pour le titre vraiment étrange, mais voici ce que j'essaie de faire:

var f1 = function (param1, param2) { // Is there a way to get an object that is 'f1' // (the current function)? }; 

Comme vous pouvez le voir, j'aimerais accéder à la fonction actuelle à partir d'une fonction anonyme.

Est-ce possible?

Oui – arguments.callee est la fonction actuelle.

REMARQUE : ceci est obsolète dans ECMAScript 5 et peut provoquer un succès de performance pour la récurrence d'appel arrière et autres. Cependant, cela fonctionne dans la plupart des principaux navigateurs.

Dans votre cas, f1 fonctionnera également.

Nomme le.

 var f1 = function fOne() { console.log(fOne); //fOne is reference to this function } console.log(fOne); //undefined - this is good, fOne does not pollute global context 

Vous pouvez y accéder avec f1 car la fonction a été affectée à la variable f1 avant qu'il ne soit appelé:

 var f1 = function () { f1(); // Is valid }; f1(); // The function is called at a later stage