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);
结果: