michael@0: function f1(b) { michael@0: var w = 3; michael@0: if (b) michael@0: function w() {} michael@0: return w; michael@0: } michael@0: assertEq(typeof f1(true), "function"); michael@0: assertEq(f1(false), 3); michael@0: michael@0: function f2(b, w) { michael@0: if (b) michael@0: function w() {} michael@0: return w; michael@0: } michael@0: assertEq(typeof f2(true, 3), "function"); michael@0: assertEq(f2(false, 3), 3); michael@0: michael@0: function f3(b) { michael@0: let (w = 3) { michael@0: if (b) michael@0: function w() {} michael@0: return w; michael@0: } michael@0: } michael@0: assertEq(f3(true, 3), 3); michael@0: assertEq(f3(false), 3);