michael@0: function f() { michael@0: var k = 0; michael@0: michael@0: var g = function() { michael@0: return ++k; michael@0: } michael@0: michael@0: return g; michael@0: } michael@0: michael@0: function h() { michael@0: for (var i = 0; i < 10; ++i) { michael@0: var vf = f(); michael@0: assertEq(vf(), 1); michael@0: assertEq(vf(), 2); michael@0: for (var j = 0; j < 10; ++j) { michael@0: assertEq(vf(), j + 3); michael@0: } michael@0: } michael@0: } michael@0: michael@0: h();