As stated in my comment, this is impossible from a general perspective.
You can construct a counter example by declaring functions locally (i.e. within local scope) of another function and then try to access the declared functions by name outside of the scope of that function:
(function() {
function f() {console.log("f")}
var g = function g() {console.log("g");};
h = function h() {console.log("h");};
f();
g();
h();
})();
try {f();}
catch(e) {console.log(e.message);}
try {g();}
catch(e) {console.log(e.message);}
try {h();}
catch(e) {console.log(e.message);}
As you can see, only h is accessible outside of the scope of the anonymous function, because it was declared globally (by omitting the var keyword).
If you're looking for a technique to store a collection of functions and access them by name, use an object oriented JavaScript pattern (MDN introduction to object oriented JavaScript).
arguments.calleeis deprecated and removed in strict mode: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…function f() {console.log("call to 'f'");}will be accessible on thewindowobject (window.f()will result in a print to the console).console.log. I have foundarguments.callee, but u have to write it in each function ? And as Kuba told , it is deprecated in strict mode.fandhand thus cannot access their names.