michael@0: michael@0: function foo() { michael@0: var x = 0; michael@0: for (var i = arguments.length - 1; i >= 0; i--) michael@0: x += arguments[i]; michael@0: return x; michael@0: } michael@0: michael@0: function bar() { michael@0: var x = 0; michael@0: for (var i = 0; i < arguments.length; i++) michael@0: x += arguments[i]; michael@0: return x; michael@0: } michael@0: michael@0: function baz(a,b,c,d,e) { michael@0: var x = 0; michael@0: for (var i = 0; i < arguments.length; i++) michael@0: x += arguments[i]; michael@0: return x; michael@0: } michael@0: michael@0: for (var i = 0; i < 10; i++) { michael@0: assertEq(foo(1,2,3,4,5), 15); michael@0: assertEq(bar(1,2.5,true,{valueOf:function() { return 10}},"five"), "14.5five"); michael@0: assertEq(baz(1,2,3,4,5), 15); michael@0: }