1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
var global = 0; function foo(i) { global = i; if (global == 8) { eval("global = 'three'"); throw global; } } var caught = false; try { for (var i = 0; i < 10; i++) { Array.map([i], foo); } } catch (e) { caught = true; } assertEq(caught, true); assertEq(global, 'three');