michael@0: var a = [1, , 2]; michael@0: Array.prototype[1] = 3; michael@0: michael@0: function f(arr) { michael@0: return arr[0] + arr[1] + arr[2]; michael@0: } michael@0: for (var i=0; i<70; i++) { michael@0: assertEq(f(a), 6); michael@0: } michael@0: michael@0: Object.defineProperty(Array.prototype, "1", { michael@0: get: function() { michael@0: return 1234; michael@0: } michael@0: }); michael@0: michael@0: assertEq(f(a), 1237); michael@0: assertEq(f(a), 1237);