Is it possible to do this:
myfile.js:
function foo() {
alert(<my-function-name>);
// pops-up "foo"
// or even better: "myfile.js : foo"
}
I've got the Dojo and jQuery frameworks in my stack, so if either of those make it easier, they're available.
In ES5 and above, there is no access to that information.
In older versions of JS you can get it by using arguments.callee
.
You may have to parse out the name though, as it will probably include some extra junk. Though, in some implementations you can simply get the name using arguments.callee.name
.
Parsing:
function DisplayMyName()
{
var myName = arguments.callee.toString();
myName = myName.substr('function '.length);
myName = myName.substr(0, myName.indexOf('('));
alert(myName);
}