michael@0: function foo(x) { michael@0: return bar(x); michael@0: } michael@0: function bar(x) { michael@0: return x.f + 10; michael@0: } michael@0: var g = Object(); michael@0: g.f = 10; michael@0: assertEq(foo(g), 20); michael@0: assertEq(foo(g), 20); michael@0: assertEq(foo(g), 20); michael@0: eval("g.f = 'three'"); michael@0: assertEq(foo(g), 'three10');