javascript 列印函數名稱和被引用的函數,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(); }