1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
function f() { function g(n) { n = n|0; var s = 0; for (var i = 0; (i = i + 1 |0) < 1000;) { s = s * i; if (!n) { s = x; } } return s; } return g; let x; } var func = f(); var r; for (var i = 0; i < 2000; i++) r = func(i + 1); assertEq(r, 0);