14.var_sm.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. "use strict";
  6. function write(v) { WScript.Echo(v + ""); }
  7. function exceptToString(ee) {
  8. if (ee instanceof TypeError) return "TypeError";
  9. if (ee instanceof ReferenceError) return "ReferenceError";
  10. if (ee instanceof EvalError) return "EvalError";
  11. if (ee instanceof SyntaxError) return "SyntaxError";
  12. return "Unknown Error";
  13. }
  14. (function Test1() {
  15. var str = "var named eval";
  16. try {
  17. eval("var eval;");
  18. } catch (e) {
  19. write("Exception: " + str + " " + exceptToString(e));
  20. return;
  21. }
  22. write("Return: " + str);
  23. })();
  24. (function Test2() {
  25. var str = "var named eval inital value";
  26. try {
  27. eval("var eval = 10;");
  28. } catch (e) {
  29. write("Exception: " + str + " " + exceptToString(e));
  30. return;
  31. }
  32. write("Return: " + str);
  33. })();
  34. (function Test3() {
  35. var str = "var named arguments";
  36. try {
  37. eval("var arguments;");
  38. } catch (e) {
  39. write("Exception: " + str + " " + exceptToString(e));
  40. return;
  41. }
  42. write("Return: " + str);
  43. })();
  44. (function Test4() {
  45. var str = "var named arguments inital value";
  46. try {
  47. eval("var arguments = 10;");
  48. } catch (e) {
  49. write("Exception: " + str + " " + exceptToString(e));
  50. return;
  51. }
  52. write("Return: " + str);
  53. })();