From:http://blog.iecn.net/zmm
<scriptlanguage="javascript">
functiongetFuncName(_callee){
var_text=_callee.toString();
var_scriptArr=document.scripts;
for(vari=0;i<_scriptArr.length;i++){
var_start=_scriptArr[i].text.indexOf(_text);
if(_start!=-1){
if(/^function\s*\(.*\).*\r\n/.test(_text)){
var_tempArr=_scriptArr[i].text.substr(0,_start).split('\r\n');
return_tempArr[_tempArr.length-1].replace(/(var)|(\s*)/g,'').replace(/=/g,'');
}else{
return_text.match(/^function\s*([^\(]+).*\r\n/)[1];
}
}
}
}
functiona(){
returngetFuncName(arguments.callee);
}
varb=function(){
returngetFuncName(arguments.callee);
}
window.alert(a());
window.alert(b());
</script>
