{"ScriptPreparationCode":"\r\nfunction bind() {\r\n var rnd = Math.random();\r\n return toBind.bind(null, rnd);\r\n function toBind(param) {\r\n return param * 2;\r\n }\r\n}\r\n\r\nfunction closure() {\r\n var rnd = Math.random();\r\n return inner;\r\n function inner() {\r\n return rnd * 2;\r\n }\r\n}","TestCases":[{"Name":"create bind","Code":"var fnc = bind();","IsDeferred":false},{"Name":"create closure","Code":"var fnc = closure()","IsDeferred":false},{"Name":"use bind","Code":"var fnc = bind();\r\nvar out = fnc();","IsDeferred":false},{"Name":"use closure()","Code":"var fnc = closure();\r\nvar out = fnc();","IsDeferred":false}]}