bug1232269.js (600B)
1 function f() { 2 for (var i=0; i<100; i++) { 3 var obj = {data: {id:1}}; 4 } 5 Object.defineProperty(obj, "id", { 6 configurable: true, 7 enumerable: false, 8 get: function() { 9 return this.data.id; 10 } 11 }); 12 return obj.id; 13 } 14 assertEq(f(), 1); 15 16 function f2() { 17 for (var i=0; i<100; i++) { 18 var obj = {data: {id:1}}; 19 } 20 Object.defineProperty(obj, "id", { 21 configurable: true, 22 enumerable: false, 23 get: function() { return this.data.id; }, 24 set: function(v) { this.data.id = v; } 25 }); 26 obj.id = 3; 27 return obj.id; 28 } 29 assertEq(f2(), 3);