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

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’
    // (the current function)?


As you can see, I would like to access the current function from within an anonymous function.

Is this possible?



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.


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

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

@amik Mentioned this, but if you write your functions as arrow functions it seems a little nicer to me:

const someFunction = () => { 
  console.log(someFunction); // will log this function reference
  return someFunction;


Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.