michael@0: function f() { michael@0: var a = arguments; michael@0: eval("assertEq(arguments[0], 42)"); michael@0: eval("assertEq(arguments, a)"); michael@0: arguments = undefined; michael@0: eval("assertEq(arguments, undefined)"); michael@0: arguments = a; michael@0: eval("assertEq(arguments[0], 42)"); michael@0: eval("assertEq(arguments, a)"); michael@0: } michael@0: f(42); michael@0: michael@0: function f(z) { michael@0: var a = arguments; michael@0: eval("assertEq(arguments[0], 42)"); michael@0: eval("assertEq(arguments, a)"); michael@0: arguments = undefined; michael@0: eval("assertEq(arguments, undefined)"); michael@0: z = 17; michael@0: eval("assertEq(a[0], 17)"); michael@0: a[0] = 'ponies'; michael@0: eval("assertEq(z, 'ponies')"); michael@0: } michael@0: f(42);