我正在做一些元编程,使用Function
构造函数从组装的字符串中创建一个函数。
构造Function
函数允许指定参数名称和主体,但似乎没有任何方法可以指定函数的名称。
这意味着似乎没有办法以符合标准的方式从自身内部引用函数(arguments.callee
在 ES5 中已弃用,在严格模式下被禁止)。如果我正在编写一个文字函数语句,我可以这样做:
function myFunc(a, b, c) {
if (c) {
return myFunc(a, b);
}
return 0;
}
如果我使用Function()
(不使用eval()
)构建该功能,有什么方法可以实现这种效果?