Is there a way to get the current function from within the current function?

前端 未结 3 1308
囚心锁ツ
囚心锁ツ 2020-12-05 16:54

Sorry for the really weird title, but here’s what I’m trying to do:

var f1 = function (param1, param2) {

    // Is there a way to get an object that is ‘f1’         


        
相关标签:
3条回答
  • 2020-12-05 17:30

    You can access it with f1 since the function will have been assigned to the variable f1 before it is called:

    var f1 = function () {
        f1(); // Is valid
    };
    
    f1(); // The function is called at a later stage
    
    0 讨论(0)
  • 2020-12-05 17:32

    Yes – arguments.callee is the current function.

    NOTE: This is deprecated in ECMAScript 5, and may cause a performance hit for tail-call recursion and the like. However, it does work in most major browsers.

    In your case, f1 will also work.

    0 讨论(0)
  • 2020-12-05 17:37

    Name it.

    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
    
    0 讨论(0)
提交回复
热议问题