我有这个:
this.f = function instance(){};
Run Code Online (Sandbox Code Playgroud)
我想要这个:
this.f = function ["instance:" + a](){};
Run Code Online (Sandbox Code Playgroud) 有没有办法创建一个具有在运行时确定的实名的函数,而不使用eval纯JavaScript?(因此,没有生成的script元素,因为那些特定于浏览器环境[并且在许多方面eval无论如何都会伪装];不使用某个特定JavaScript引擎的非标准功能等)
请注意,我特别不询问变量或具有名称的属性引用的匿名函数,例如:
// NOT this
var name = /* ...come up with the name... */;
var obj = {};
obj[name] = function() { /* ... */ };
Run Code Online (Sandbox Code Playgroud)
在那里,虽然object属性有一个名称,但函数却没有.匿名函数适用于很多东西,但不是我在这里寻找的东西.我希望函数有一个名称(例如,在调试器中显示调用堆栈等).