我已经通过Function构造函数动态创建函数。现在我想要在其内部获取函数的名称。这怎么可能?获取使用函数构造函数创建的函数名称
var myFunc = new Function("arg", "// want the name here")
我可以调用使用myFunc(arg)
的功能,但名称不被使用arguments.callee.name
更新打印:有没有什么办法让ATLEAST即像
myFunc instanceof <something>...
我已经通过Function构造函数动态创建函数。现在我想要在其内部获取函数的名称。这怎么可能?获取使用函数构造函数创建的函数名称
var myFunc = new Function("arg", "// want the name here")
我可以调用使用myFunc(arg)
的功能,但名称不被使用arguments.callee.name
更新打印:有没有什么办法让ATLEAST即像
myFunc instanceof <something>...
功能创建的参考使用Function
构造函数是匿名的,这就是为什么.name
为空。如果由于某些原因您需要命名功能,请查看Is there any non-eval way to create a function with a runtime-determined name?。
有没有办法让atleast获得自我引用。举个例子, myFunc instanceof东西.. –
从里面的函数?不,除非'myFunc'是全局的。有理由不赞成'arguments.callee'。你需要什么? – Bergi
我有一个重复回调函数,它被注册到一个库函数,然后通过这个库被调用。所以我可以更改回调函数的名称,但不能传递参数。但出于某些原因,我想知道在被调用时有这个回调的参考。 是的'myFunc'可以全球化 –
该函数没有名称。它是匿名的。 – Quentin
你想得到什么名字? ' “myFunc的”'? – Oriol