我已经通过Function构造函数动态创建了一个函数。现在我想获得函数的名称。怎么可能呢?
var myFunc = new Function("arg", "// want the name here")
我可以使用myFunc(arg)
调用该函数,但不会使用arguments.callee.name
打印该名称
更新:有没有办法获得至少的参考,例如
myFunc instanceof <something>...
答案 0 :(得分:2)
使用Function
构造函数创建的函数是匿名的,这就是.name
为空的原因。如果由于某些原因需要命名函数,请查看Is there any non-eval way to create a function with a runtime-determined name?。