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>