{"ScriptPreparationCode":"var testArray = [1,2,3];\r\nvar fakeArray = 123;\r\n\r\nvar isArray = function(arr) {\r\n var type = Object.prototype.toString.call(arr);\r\n\r\n return (\r\n type === \u0022[object Array]\u0022 ||\r\n type === \u0022[object NodeList]\u0022 ||\r\n type === \u0022[object TouchList]\u0022 ||\r\n type === \u0022[object HTMLCollection]\u0022\r\n );\r\n};\r\n\r\n\r\nvar isArray2 = (arr) =\u003E arr.pop\r\n","TestCases":[{"Name":"isArray","Code":"var a = 0;\r\nif (isArray(testArray)) {\r\n\ta\u002B\u002B;\r\n}","IsDeferred":false},{"Name":"Array.isArray","Code":"var a = 0;\r\nif (Array.isArray(testArray)) {\r\n\ta\u002B\u002B;\r\n}","IsDeferred":false},{"Name":"Optimized isArray1","Code":"var a = 0;\r\nif (testArray.length) {\r\n\ta\u002B\u002B;\r\n}","IsDeferred":false},{"Name":"Optimized isArray2","Code":"var a = 0;\r\nif (testArray \u0026\u0026 testArray.length) {\r\n\ta\u002B\u002B;\r\n}","IsDeferred":false},{"Name":".pop","Code":"var a = 0;\r\nif (testArray.pop) {\r\n\ta\u002B\u002B;\r\n}","IsDeferred":false},{"Name":"isArray2","Code":"var a = 0;\r\nif (isArray2(testArray)) {\r\n\ta\u002B\u002B;\r\n}","IsDeferred":false}]}