1

如何在 Javascript 中的函数中获取函数名称?

特别是在 Dojo 中,因为这似乎不起作用

arguments.callee.caller
4

2 回答 2

3

是否arguments.callee.name定义取决于函数是如何定义的。如果函数被定义为命名函数表达式,它将被定义。否则,您将没有此信息。

于 2013-07-15T15:23:38.083 回答
1

在 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()

于 2013-07-15T17:35:41.903 回答