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