Comment puis-je accéder à un nom de fonction d’à l’intérieur de cette fonction ?
Réponses
Trop de publicités?ce que vous faites sont l’attribution sans nom fonction à une variable. vous avez probablement besoin d’expression de la fonction nommée à la place ( http://kangax.github.com/nfe/ ).
Cependant je ne sais pas combien multi-navigateurs c'est-à-dire ; Il y a un problème avec IE6 qui rend la fuite nom vous de la fonction de la portée externe. en outre, arguments.callee est peu obsolète et se traduira par erreur si vous utilisez `` .
Cela pourrait fonctionner pour vous:
function foo() { bar(); }
function bar() { console.log(bar.caller.name); }
l'exécution de foo() renverra "foo" non défini ou si vous appelez à partir d'une fonction anonyme.
Il travaille avec des constructeurs de trop, auquel cas elle serait sortie le nom de l'appelant le constructeur (par exemple "Toto").
Plus d'infos ici: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/Caller
Ils prétendent qu'il est non-standard, mais aussi qu'il est pris en charge par tous les principaux navigateurs: Firefox, Safari, Chrome, Opera et IE.
Tu peux pas. Fonctions ne possèdent des noms selon la norme (même si mozilla a cet attribut) - ils peuvent être uniquement affectés aux variables avec les noms.
Aussi votre commentaire :
à l’intérieur de la fonction my.namespace.myFunc.getFn
Ce que vous pouvez faire est de retourner le constructeur d’un objet créé par nouveau
On peut donc dire