当前位置:编程学习 > JS >>

获取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 (/^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];
}
}
}
}

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

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

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

上一个:Javascript实例教程(19) 使用HoTMetal(4)
下一个:JavaScript中Array 对象相关的几个方法

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,