当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 获取Javscript执行函数名称的方法

Javascript
JMenuTab简单使用说明
简单的JS多重继承示例
js另类写法
javascript cookie解码函数(兼容ff)
Javascript的一种模块模式
详解new function(){}和function(){}() 区别分析
YUI 读码日记之 YAHOO.lang.is*
用JS得到字符串中出现次数最多的字母
YUI 读码日记之 YAHOO.util.Dom - Part.1
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.3
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
利用js对象弹出一个层
js用图作提交按钮或超连接
通过 Dom 方法提高 innerHTML 性能
javascript 通用滑动门tab类
二行代码解决全部网页木马
JavaScript的面向对象方法以及差别
悟透JavaScript整理版
try finally 妙用,防止内存泄漏

Javascript 中的 获取Javscript执行函数名称的方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 265 ::
收藏到网摘: n/a

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>