arguments.js (508B)
1 function f() { 2 var args = arguments, r; 3 4 for (var i = 0; i < args.length; i++) 5 r = args[i]; 6 7 return r; 8 } 9 10 assertEq(f.apply(null, [1, 2, 3, 4, 5, 6]), 6) 11 assertEq(f.apply(null, [1, 2, 3, 4, 5]), 5) 12 assertEq(f.apply(null, [1, 2, 3, 4]), 4) 13 14 function g(arg) { 15 var r; 16 for (var i = 0; i < arg.length; i++) 17 r = arg[i]; 18 return r; 19 } 20 21 assertEq(g((function () { return arguments; }).call(null, 1, 2, 3)), 3); 22 assertEq(g(new Float32Array(3)), 0.0); 23 assertEq(g([1, 2, 3, 4]), 4);