1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
function foo(x,y) { function capture() { return x; } return bar(arguments); } function bar(x) { return baz.apply({}, x) + arguments.length; } function baz(x,y) { return x + y; } var sum = 0; for (var i = 0; i < 100; i++) { sum += foo(1,2); } assertEq(sum, 400)