javascript開発デバッグの利器(二)は現在の実行関数と関数名を取得します.

563 ワード

アーグメンント.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);
	
}