javascript 打印函数名称和被引用的函数

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
	<title></title>
</head>
<body>
	<script type="text/javascript">
	    // 打印当前js 的函数函数体
		function hello(){
		 // <!-- alert(100000); -->
		var funName=arguments.callee;
		// 推断是否为空  indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
		if(funName){
		     // 转成字符串
		      funName=funName.toString();
		      funName=funName.substring(0,funName.indexOf("{"));
		}
		    document.writeln("function's name is " +funName);
		}
		// 运行函数
		hello();
		
		function world(){
			//world.caller得到的是b函数的引用
			if(world.caller)
			  document.writeln(world.caller);
		}
		// print it 
		
		function helloworld(){
			helloworld001();
			helloworld002();
			helloworld003();
		}
		// 多个函数引用 
		function  helloworld001(){
		      world();
		}
		
		function  helloworld002(){
		      world();
		}
		
		
		function  helloworld003(){
		      world();
		}
		
		helloworld();
	</script>
</body>
</html>

IE edge模式结果例如以下:function's name is function hello() function helloworld001(){ world(); } function helloworld002(){ world(); } function helloworld003(){ world(); }



原文地址:https://www.cnblogs.com/wzjhoutai/p/7102618.html