blockscope-deferred.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. function print(x) { WScript.Echo(x+'') }
  6. var dojo = {};
  7. {
  8. function dj_undef() { }
  9. dojo.evalProps = function () {
  10. dj_undef();
  11. };
  12. }
  13. dojo.evalProps();
  14. ///////////
  15. function foo0(level_1_identifier_0) {
  16. var level_1_identifier_1 = "level1";
  17. level_1_identifier_1 += "level1";
  18. with ({ level_1_identifier_0: "level2", level_1_identifier_1: "level2" }) {
  19. level_1_identifier_1 += "level2";
  20. function foo1(level_3_identifier_0) {
  21. print('foo1');
  22. level_1_identifier_0 += "level3";
  23. level_1_identifier_1 += "level3";
  24. }
  25. foo1("level3");
  26. print(level_1_identifier_0);
  27. print(level_1_identifier_1);
  28. }
  29. print(level_1_identifier_0);
  30. print(level_1_identifier_1);
  31. }
  32. foo0("level1");
  33. ///////////////
  34. function level1Func(level_1_identifier_0) {
  35. with ({ level_1_identifier_0: "level2" }) {
  36. function level3Func(level_3_identifier_0) {
  37. level_1_identifier_0 += "level3";
  38. }
  39. level3Func("level3");
  40. print(level_1_identifier_0);
  41. }
  42. print(level_1_identifier_0);
  43. }
  44. level1Func("level1");