property-1.js (331B)
1 function foo(x, y) { 2 var res = 0; 3 for (var i = 0; i < 10; i++) { 4 res += x.f + y[i]; 5 } 6 return res; 7 } 8 9 var x = {f:0}; 10 var y = Array(10); 11 for (var i = 0; i < 10; i++) { 12 if (i == 5) 13 Object.defineProperty(Object.prototype, 5, {get: function() { x.f = 10; return 5}}); 14 else 15 y[i] = i; 16 } 17 18 assertEq(foo(x, y), 85);