如何在Javascript函数中获取函数名称?
特别是在Dojo中,因为这似乎不起作用
arguments.callee.caller
答案 0 :(得分:3)
是否定义arguments.callee.name
取决于函数的定义方式。如果函数定义为Named function expression,将定义它。否则,您将无法获得此信息。
答案 1 :(得分: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()。