Welcome 微信登录

首页 / 脚本样式 / JavaScript / 获取Javscript执行函数名称的方法

From: http://blog.iecn.net/zmm
<script language="javascript">
 function getFuncName(_callee) {
 var _text = _callee.toString();
 var _scriptArr = document.scripts;
 for (var i=0; i<_scriptArr.length; i++) {
 var _start = _scriptArr[i].text.indexOf(_text);
 if (_start != -1) {
 if (/^functions*(.*).* /.test(_text)) {
 var _tempArr = _scriptArr[i].text.substr(0, _start).split(" "); 
 return _tempArr[_tempArr.length - 1].replace(/(var)|(s*)/g, "").replace(/=/g, "");
 } else {
 return _text.match(/^functions*([^(]+).* /)[1];
 }
 }
 }
 }

 function a() {
 return getFuncName(arguments.callee);
 }

 var b = function() {
 return getFuncName(arguments.callee);
 }

 window.alert(a());
 window.alert(b());
</script>