{"ScriptPreparationCode":"var arr = [];","TestCases":[{"Name":"function declaration","Code":"arr = []\r\nfunction functionDeclaration(item) {\r\n arr.push(item);\r\n}\r\nfor (var i = 1; i \u003C 10000; i\u002B\u002B) {\r\n functionDeclaration(i);\r\n}","IsDeferred":false},{"Name":"function expression","Code":"arr = []\r\nvar functionExpression = function(item) {\r\n arr.push(item);\r\n};\r\nfor (var i = 1; i \u003C 10000; i\u002B\u002B) {\r\n functionExpression(i);\r\n}","IsDeferred":false},{"Name":"class","Code":"arr = []\r\nclass Test {\r\n constructor(a) {\r\n this.a = a;\r\n }\r\n addItem(item){\r\n this.a.push(item)\r\n }\r\n}\r\nconst t = new Test(arr);\r\nfor (var i = 1; i \u003C 10000; i\u002B\u002B) {\r\n t.addItem(i);\r\n}","IsDeferred":false},{"Name":"proto","Code":"arr = []\r\nfunction ProtoTest(a) {\r\n this.arr = a\r\n}\r\n\r\nProtoTest.prototype.addItem = function(item) {\r\n\tthis.arr.push(item)\r\n}\r\n\r\nvar t = new ProtoTest(arr);\r\nfor (var i = 1; i \u003C 10000; i\u002B\u002B) {\r\n t.addItem(i);\r\n}","IsDeferred":false},{"Name":"Typescript Compiled","Code":"arr = []\r\nvar TsTest = (function () {\r\n function TsTest(a) {\r\n this.arr = a;\r\n }\r\n TsTest.prototype.addItem = function (i) {\r\n this.arr.push(i);\r\n };\r\n return TsTest;\r\n}());\r\n\r\nvar t = new TsTest(arr);\r\nfor (var i = 1; i \u003C 10000; i\u002B\u002B) {\r\n t.addItem(i);\r\n}","IsDeferred":false}]}