JS获取当前执行函数的函数名称

JavaScript 2013-03-29 js,函数,名称

js默认没有提供能直接获取当前执行函数的函数名称方法,但可以通过一些技巧取得当前执行函数的函数名称。

通过arguments.callee对象获取函数的字面量

function fun_name (num){
	var tmp = arguments.callee.toString();
	alert(tmp);
}

fun_name();

执行:

获得了我们定义函数的字面量,然后通过toSring()方法转换到字符串再通过正则把函数名匹配出来,即可

function fun_name (num){
	var tmp = arguments.callee.toString();
	var re = /function\s*(\w*)/i;
	var matches = re.exec(tmp);
	alert(matches[1]);
	
}

fun_name();

执行:

函数名正确找出来了。

但如果是这样定义函数的就没办法找出来了

var fun_name = function (){
	var tmp = arguments.callee.toString();
	alert(tmp);
	
}

fun_name();

执行:

文字链接:《JS获取当前执行函数的函数名称

文章地址:http://www.qttc.net/201303297.html

除非标注,琼台博客所有博文均为原创,转载请加文字链接注明来源

乳名?小名?昵称?网名?均可

email,放心,我不会给你乱投广告的

想获得回访就把你的站点URL写上(没有留空)

[NOTICE]木要投放广告
[NOTICE]木要骂人,说不该说的话
[NOTICE]自由言论,但要遵纪守法

Comments 4