function $F(caller) {
    var f = arguments.callee.caller;
    if(caller) f = f.caller;
    var pat = /^function\s+([a-zA-Z0-9_]+)\s*\(/i;
    pat.exec(f);

    var func = new Object();
    func.name = RegExp.$1;
    return func;
}

function foo(){
    var name = $F().name; // 함수 자신의 이름 가져오기
    alert(name); // 또는 alert($F().name);
}


출처 : http://phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_html&wr_id=165167&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%C7%D4%BC%F6+%C0%CC%B8%A7&sop=and