| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- //-------------------------------------------------------------------------------------------------------
- // Copyright (C) Microsoft. All rights reserved.
- // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- //-------------------------------------------------------------------------------------------------------
- var s1 =
- 'function f1() {' +
- ' var a = "a";' +
- ' function g1() {' +
- ' WScript.Echo(a);' +
- ' }' +
- ' return g1;' +
- '}';
- eval(s1);
- WScript.Echo('done s1');
- var foo1 = f1();
- WScript.Echo('done f1');
- foo1();
- var s2 =
- 'var a = "global a";' +
- 'function f2(i) {' +
- ' with ({a:"with a"}) {' +
- ' var g2 = function() {' +
- ' WScript.Echo(a);' +
- ' };' +
- ' function g2_() {' +
- ' WScript.Echo(a);' +
- ' }' +
- ' }' +
- ' switch(i) {' +
- ' case 0: return g2;' +
- ' case 1: return g2_;' +
- ' }' +
- '}';
- eval(s2);
- WScript.Echo('done s2');
- var foo2 = f2(0);
- var foo2_ = f2(1);
- WScript.Echo('done f2');
- foo2();
- foo2_();
- var s3 =
- 'function f3(i) {' +
- ' var a = "f3 a";' +
- ' function g3(i) {' +
- ' try {' +
- ' throw "catch";' +
- ' }' +
- ' catch(a) {' +
- ' function g4_() {' +
- ' WScript.Echo(a);' +
- ' }' +
- ' var g4 = function() {' +
- ' WScript.Echo(a);' +
- ' };' +
- ' return i == 0 ? g4 : g4_;' +
- ' }' +
- ' }' +
- ' return g3(i);' +
- '}';
- eval(s3);
- WScript.Echo('done s3');
- var foo3 = f3(0);
- var foo3_ = f3(1);
- WScript.Echo('done f3');
- foo3();
- foo3_();
|