argumentsOptimize-2.js (533B)
1 function foo() { 2 var x = 0; 3 for (var i = arguments.length - 1; i >= 0; i--) 4 x += arguments[i]; 5 return x; 6 } 7 8 function bar() { 9 var x = 0; 10 for (var i = 0; i < arguments.length; i++) 11 x += arguments[i]; 12 return x; 13 } 14 15 function baz(a,b,c,d,e) { 16 var x = 0; 17 for (var i = 0; i < arguments.length; i++) 18 x += arguments[i]; 19 return x; 20 } 21 22 for (var i = 0; i < 10; i++) { 23 assertEq(foo(1,2,3,4,5), 15); 24 assertEq(bar(1,2.5,true,{valueOf:function() { return 10}},"five"), "14.5five"); 25 assertEq(baz(1,2,3,4,5), 15); 26 }