理解javascript中arguments,callee,caller

<! 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 "  lang = " gb2312 " >  
< head >  
< head >  
< title >  关于arguments,callee,caller等的测试  < / title> 
< meta http - equiv = " content-type "  content = " text/html; charset=gb2312 "   /
< / head> 
< body >  
< script type = " text/javascript " >  
function  testArg() 

    
var sTemp ="test()开始执行\n\n函数定义的正文:\n\n"
    sTemp
+=arguments.callee + "\n\n"
    sTemp
+="传入参数的长度:\n"
    sTemp
+=arguments.length+"\n\n"
    sTemp
+="传入参数的内容:\n"
for (var i=0;i<arguments.length;i++)
    sTemp
+=arguments[i]+"\n"
}
 
    sTemp
+="\n点击确定,开始调用a();"
    alert(sTemp); 
    a(arguments); 
}
 
function  a(args) 

    
var sTemp ="a()开始执行\n\n函数定义的正文:\n\n"
    sTemp
+=arguments.callee + "\n\n"
    sTemp
+="传入参数的长度:\n"
    sTemp
+=arguments.length+"\n\n"
    sTemp
+="传入参数的内容:\n"
    
for (var i=0;i<arguments.length;i++)
        sTemp
+=arguments[i]+"\n"
    }
 
    sTemp
+="\n当前函数的调用者:\n"
    sTemp
+=arguments.callee.caller+"\n\n"
    sTemp
+="\n点击确定,开始调用b();"
    alert(sTemp); 
    b(args); 
}
 
function  b(args) 

    
var sTemp ="b()开始执行\n\n函数定义的正文:\n\n"
    sTemp
+=arguments.callee + "\n\n"
    sTemp
+="传入参数的长度:\n"
    sTemp
+=arguments.length+"\n\n"
    sTemp
+="传入参数的内容:\n"
for (var i=0;i<arguments.length;i++)
        sTemp
+=arguments[i]+"\n"
    }
 
    sTemp
+="\n当前函数的调用者:\n"
    sTemp
+=arguments.callee.caller+"\n\n"
    sTemp
+="\n点击确定,开始调用c();"
    alert(sTemp); 
    c(args); 
}
 
function  c(args) 

    
var sTemp ="c()开始执行\n\n函数定义的正文:\n\n"
    sTemp
+=arguments.callee + "\n\n"
    sTemp
+="传入参数的长度:\n"
    sTemp
+=arguments.length+"\n\n"
    sTemp
+="传入参数的内容:\n"
for (var i=0;i<arguments.length;i++)
        sTemp
+=arguments[i]+"\n"
    }
 
    sTemp
+="\n当前函数的调用者:\n"
    sTemp
+=arguments.callee.caller+"\n\n"
    alert(sTemp); 
    alert(
"args.callee:\n"+args.callee); 
    alert(
"args.callee.caller:\n"+args.callee.caller); 
    alert(
"testArg.arguments.callee.caller:\n"+testArg.arguments.callee.caller); 
}
 

< / script> 
< input type = " button "  onclick = " testArg('iecn.net','深蓝蝴蝶','枫岩'); "  value = " testArg('iecn.net','深蓝蝴蝶','枫岩'); "   /
< / body> 
< / html>

你可能感兴趣的:(JavaScript)