javascript--arguments callee caller

代码:arguments callee caller

 1             function foo1(v1){
 2                 foo2(v1, v1 * 2);
 3             }
 4             
 5             function foo2(v1, v2){
 6                 foo3(v1, v2, v2 * 2);
 7             }
 8             
 9             function foo3(v1, v2, v3){
10                 var foo = arguments.callee;
11                 while (foo && (foo != window)) {
12                     document.writeln('<br>调用参数</br>', '--------</br>');
13                     var args = foo.arguments, argn = args.length;
14                     for (var i = 0; i < argn; i++) {
15                         document.writeln('args[' + i + ']:', args[i], "</br>");
16                     }
17                     document.writeln("</br>");
18                     foo = foo.caller;
19                 }
20             }
21             
22             foo1(2);

结果:

用谷歌浏览器一调式看结果就很清晰的了 会写 但是能活用的就不容易! 

求和: 1到n的和

            function sum(n){
                if (n <= 0) {
                    return 0;
                }
                else {
                    return n + arguments.callee(n - 1);
                }
            }
            
            var sp = sum(5);

结果:

posted @ 2013-02-04 10:34  s_p  阅读(191)  评论(0编辑  收藏  举报