Disons que j'ai une fonction:
function test1() { }
Je souhaite renvoyer "test1" à partir de lui-même. J'ai découvert que vous pouvez faire des arguments.callee
qui va renvoyer toute la fonction et ensuite faire de la regex feinte. Une meilleure façon?
Qu'en est-il des fonctions de diffusion de noms?
Est-il possible d'obtenir leur nom aussi: par exemple:
var test2 = { foo: function() { } };
Je veux retourner foo pour cet exemple à partir de lui-même.
Mise à jour: pour arguments.callee.name Chrome retourne vide, IE9 retourne indéfini. Et cela ne fonctionne pas avec les fonctions de portée.
var test2 = { foo: function() { } };
Vous ne donnez pas à la fonction un nom. Vous assignez la propriété foo
de test2
à une fonction anonyme.
arguments.callee.name
ne fonctionne que lorsque les fonctions sont déclarées à l'aide de la function foo(){}
syntaxe.
Cela devrait fonctionner:
var test2 = { foo: function foo() { console.log(arguments.callee.name); // "foo" } };