<!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(); }
原文地址:http://blog.csdn.net/tannongchun/article/details/42084293