1

Javascriptで関数内の関数名を取得するにはどうすればよいですか?

具体的には Dojo では、これではうまくいかないようです。

arguments.callee.caller
4

2 に答える 2

3

が定義されているかどうかarguments.callee.nameは、関数がどのように定義されたかによって異なります。関数がNamed function expressionとして定義された場合に定義されます。そうしないと、この情報が得られません。

于 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 に答える