{"ScriptPreparationCode":"var testObj1 = {a: 28, b: 82, \r\n set_property(val) {\r\n this.property = val;\r\n },\r\n set_property1(val) {\r\n this.property1 = val;\r\n },\r\nset g_property(val) {\r\n\tthis.property = val;\r\n},\r\nset g_property1(val) {\r\n\tthis.property1 = val;\r\n}\r\n, c: \u0022hello\u0022, d: 983, e: \u0027lara\u0027, property: 32, f: \u002782828\u0027, property1: \u0022asd\u0022};\r\n\r\nfunction set_property(obj, val) {\r\n obj[\u0022property\u0022] = val;\r\n}\r\nfunction set_property1(obj, val) {\r\n obj[\u0022property1\u0022] = val;\r\n}\r\n\r\n\r\nfunction set_property_cl(val) {\r\n testObj1[\u0022property\u0022] = val;\r\n}\r\nfunction set_property1_cl(val) {\r\n testObj1[\u0022property1\u0022] = val;\r\n}\r\n\r\nvar C = 100000;","TestCases":[{"Name":"2 - function","Code":"var result;\r\nfor (var i = 0; i \u003C C; i\u002B\u002B) {\r\n set_property(testObj1, i);\r\n set_property1(testObj1, i\u002B1);\r\n}\r\nresult = testObj1[\u0022property\u0022];","IsDeferred":false},{"Name":"3 - method","Code":"var result;\r\nfor (var i = 0; i \u003C C; i\u002B\u002B) {\r\n testObj1.set_property(i);\r\n testObj1.set_property1(i\u002B1);\r\n}\r\nresult = testObj1[\u0022property\u0022];","IsDeferred":false},{"Name":"4 - closure function","Code":"var result;\r\nfor (var i = 0; i \u003C C; i\u002B\u002B) {\r\n set_property_cl(i);\r\n set_property1_cl(i\u002B1);\r\n}\r\nresult = testObj1[\u0022property\u0022];","IsDeferred":false},{"Name":"5 - es-5 setter ","Code":"var result;\r\nfor (var i = 0; i \u003C C; i\u002B\u002B) {\r\n testObj1.g_property = i;\r\n testObj1.g_property1 = i\u002B1;\r\n}\r\nresult = testObj1[\u0022property\u0022];","IsDeferred":false},{"Name":"1 - direct access","Code":"var result;\r\nfor (var i = 0; i \u003C C; i\u002B\u002B) {\r\n testObj1.property = i;\r\n testObj1.property1 = i\u002B1;\r\n}\r\nresult = testObj1[\u0022property\u0022];","IsDeferred":false}]}