我正在做一些元編程,使用Function
constructor從組合字符串創建函數。使用函數構造函數創建函數的內部引用
構造函數Function
允許指定參數名稱和主體,但似乎沒有任何方法指定函數的名稱。
這意味着,似乎沒有被提及的功能,從內部本身在符合標準的方式方法(arguments.callee
被棄用ES5並嚴格禁止模式)。如果我寫文字函數聲明,我可能只是這樣做:
function myFunc(a, b, c) {
if (c) {
return myFunc(a, b);
}
return 0;
}
有什麼辦法來達到這種效果,如果我不是建立使用Function()
該函數(不使用eval()
)?
太棒了!它看起來性能不是太糟糕:http://jsperf.com/function-inception – kpozin 2012-08-08 14:54:00