| //------------------------------------------------------------------------------------------------------- | |
| // Copyright (C) Microsoft. All rights reserved. | |
| // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. | |
| //------------------------------------------------------------------------------------------------------- | |
| var glo; | |
| var box = false; | |
| function test(param) | |
| { | |
| var recurse = 0; | |
| function nested1(param2) | |
| { | |
| function nested2() | |
| { | |
| return param + param2; | |
| } | |
| recurse++; | |
| if (recurse < 10) | |
| { | |
| return nested1(param + param2 + recurse); | |
| } | |
| if (box) | |
| { | |
| escape(); | |
| return glo(); | |
| } | |
| return nested2(); | |
| } | |
| WScript.Echo(nested1()); | |
| function blah() { return "blah"; } | |
| function escape() { glo = blah; } | |
| } | |
| test("test1"); | |
| test("test2"); // JIT | |
| box = true; | |
| test("test3" ) | |
| WScript.Echo(glo()); |