如何在 Javascript 中的函数中获取函数名称?
特别是在 Dojo 中,因为这似乎不起作用
arguments.callee.caller
是否arguments.callee.name
定义取决于函数是如何定义的。如果函数被定义为命名函数表达式,它将被定义。否则,您将没有此信息。
在 dojo 中,如果函数是通过 dojo/_base/declare 声明的类的方法,则可以通过:
arguments.callee.nom
见http://dojotoolkit.org/reference-guide/1.9/dojo/_base/declare.html
每个由 dojo/declare() 或 safeMixin() 混合的方法都被注释:添加了一个名为 nom 的特殊属性。它包含所讨论的方法的名称,并由inherited() 和getInherited() 用于推断超类方法的名称。有关详细信息,请参阅safeMixin()。