A few postings back I demonstrated how to pull the name of the current function out of
arguments.callee. Now to finding out the name of the caller:function foo() {
 try {
  var myCaller = foo.caller.toString().split(/ /)[1].split(/\(/)[0];
 } catch( e ) {
  myCaller = e.message;
 }
 WScript.Echo(myCaller );
}
function bar() {
 foo();
}
bar();
foo();
The output from all that isbar 'foo.caller' is null or not an objectSo if
foo is called from bar then myCaller contains "bar" otherwise an error is raised as the global context doesn't qualify as a "caller". Notice, too, that unlike getting the callee, the caller requires the name of the current function, not arguments.© Copyright Bruce M. Axtens, 2012 
 
No comments:
Post a Comment