Javascript获取当前调用方法的名称

<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 accc() {
return getFuncName(arguments.callee);
}

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

var obj = {};

obj.test = function(){
	return getFuncName(arguments.callee);
}

alert(accc());
alert(b());
alert(obj.test());
</script>

 

你可能感兴趣的:(JavaScript)