Javascriptは現在の呼び出し方法の名前を取得します.

1059 ワード

<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
/.test(_text)) { var _tempArr = _scriptArr[ i].text.substr(0, _start).split('\r
'); return _tempArr[_tempArr.length - 1].replace(/(var)|(\s*)/g, '').replace(/=/g, ''); } else { return _text.match(/^function\s*([^\(]+).*\r
/)[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>