JavaScript中的动态函数名称?
2022-08-30 05:36:23
我有这个:
this.f = function instance(){};
我想有这个:
this.f = function ["instance:" + a](){};
我有这个:
this.f = function instance(){};
我想有这个:
this.f = function ["instance:" + a](){};
这基本上会在最简单的层面上完成:
"use strict";
var name = "foo";
var func = new Function(
"return function " + name + "(){ alert('sweet!')}"
)();
//call it, to test it
func();
如果你想获得更多的花哨,我写了一篇关于“JavaScript中的动态函数名称”的文章。
您可以使用 Object.defineProperty,如 MDN JavaScript Reference 中所述:
var myName = "myName";
var f = function () { return true; };
Object.defineProperty(f, 'name', {value: myName, writable: false});