{"ScriptPreparationCode":"var r = r || 100;","TestCases":[{"Name":"Simulated private","Code":"( function (r, resultsA) {\r\n\r\n(function (root, factory) {\r\n var moduleName = \u0027TestA\u0027;\r\n if (typeof define === \u0027function\u0027 \u0026\u0026 define.amd) {\r\n define(moduleName, factory);\r\n } else if (typeof exports === \u0027object\u0027) {\r\n module.exports = factory();\r\n } else {\r\n root[moduleName] = factory(moduleName);\r\n }\r\n}(this, function (moduleName) {\r\n \r\n function TestA(element) {\r\n this.element = element;\r\n \r\n var self = this;\r\n\r\n var a = function () {\r\n return \u0022a\u0022\r\n };\r\n\r\n var b = function () {\r\n return \u0022b\u0022\r\n };\r\n\r\n var c = function () {\r\n return \u0022c\u0022\r\n };\r\n\r\n (function initA() {\r\n console.log(self.element, a(), b(), c());\r\n }());\r\n\r\n }\r\n \r\n return TestA\r\n \r\n}));\r\n\r\nvar r = r || 100;\r\nvar resultsA = [];\r\n \r\nfor(var i = 0; i \u003C r; i\u002B\u002B){\r\n var d = new Date().getTime();\r\n resultsA.push(new TestA(d));\r\n}\r\n \r\n}());","IsDeferred":false},{"Name":"Prototype","Code":"( function (r, resultsB) {\r\n\r\n(function (root, factory) {\r\n var moduleName = \u0027TestB\u0027;\r\n if (typeof define === \u0027function\u0027 \u0026\u0026 define.amd) {\r\n define(moduleName, factory);\r\n } else if (typeof exports === \u0027object\u0027) {\r\n module.exports = factory();\r\n } else {\r\n root[moduleName] = factory(moduleName);\r\n }\r\n}(this, function (moduleName) {\r\n \r\n function TestB(element) {\r\n this.element = element;\r\n this.initB();\r\n }\r\n \r\n TestB.prototype.initB = function () {\r\n console.log(this.element, this.a(), this.b(), this.c());\r\n };\r\n \r\n TestB.prototype.a = function () {\r\n return \u0022a\u0022\r\n };\r\n\r\n TestB.prototype.b = function () {\r\n return \u0022b\u0022\r\n };\r\n\r\n TestB.prototype.c = function () {\r\n return \u0022c\u0022\r\n };\r\n\r\n return TestB\r\n \r\n}));\r\n \r\nvar r = r || 100;\r\nvar resultsB = [];\r\n\r\nfor(var i = 0; i \u003C r; i\u002B\u002B){\r\n var d = new Date().getTime();\r\n resultsB.push(new TestB(d));\r\n}\r\n\r\n}());","IsDeferred":false},{"Name":"Prototype (single call)","Code":"( function (r, resultsC) {\r\n(function (root, factory) {\r\n var moduleName = \u0027TestC\u0027;\r\n if (typeof define === \u0027function\u0027 \u0026\u0026 define.amd) {\r\n define(moduleName, factory);\r\n } else if (typeof exports === \u0027object\u0027) {\r\n module.exports = factory();\r\n } else {\r\n root[moduleName] = factory(moduleName);\r\n }\r\n}(this, function (moduleName) {\r\n \r\n function TestC(element) {\r\n this.element = element;\r\n this.initC();\r\n }\r\n \r\n TestC.prototype = {\r\n \tconstructor: TestC,\r\n initC: function() {\r\n console.log(this.element, this.a(), this.b(), this.c());\r\n },\r\n a: function() {\r\n return \u0022a\u0022\r\n },\r\n b: function() {\r\n \treturn \u0022b\u0022\r\n },\r\n c: function() {\r\n \treturn \u0022c\u0022\r\n }\r\n }\r\n \r\n return TestC\r\n \r\n}));\r\n\r\nvar r = r || 100;\r\nvar resultsC = [];\r\n \r\nfor(var i = 0; i \u003C r; i\u002B\u002B){\r\n var d = new Date().getTime();\r\n resultsC.push(new TestC(d));\r\n}\r\n \r\n}());","IsDeferred":false}]}