有没有办法从当前函数中获取当前函数?

新手上路,请多包涵

很抱歉标题真的很奇怪,但这就是我想做的:

 var f1 = function (param1, param2) {

    // Is there a way to get an object that is ‘f1’
    // (the current function)?

};

如您所见,我想从匿名函数中访问当前函数。

这可能吗?

原文由 Nathan Osman 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 196
2 个回答

是的 – arguments.callee 是当前函数。

注意:这在 ECMAScript 5 中已弃用,可能会导致尾调用递归等的性能下降。但是,它确实适用于大多数主要浏览器。

在您的情况下, f1 也可以。

原文由 Christian Mann 发布,翻译遵循 CC BY-SA 3.0 许可协议

命名它。

 var f1 = function fOne() {
    console.log(fOne); //fOne is reference to this function
}
console.log(fOne); //undefined - this is good, fOne does not pollute global context

原文由 amik 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题