12.delete.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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 write(v) { WScript.Echo(v + ""); }
  6. function exceptToString(ee) {
  7. if (ee instanceof TypeError) return "TypeError";
  8. if (ee instanceof ReferenceError) return "ReferenceError";
  9. if (ee instanceof EvalError) return "EvalError";
  10. if (ee instanceof SyntaxError) return "SyntaxError";
  11. return "Unknown Error";
  12. }
  13. var gVarTest1 = 1;
  14. (function Test1() {
  15. var str = "delete global variable";
  16. try {
  17. eval("var r = delete gVarTest1;");
  18. write("r : " + r);
  19. } catch (e) {
  20. write("Exception: " + str + " " + exceptToString(e));
  21. return;
  22. }
  23. write("Return: " + str);
  24. }) ();
  25. function gHelperFunction2() {}
  26. (function Test2() {
  27. var str = "delete global function";
  28. try {
  29. eval("var r = delete gHelperFunction2;");
  30. write("r : " + r);
  31. } catch (e) {
  32. write("Exception: " + str + " " + exceptToString(e));
  33. return;
  34. }
  35. write("Return: " + str);
  36. }) ();
  37. (function Test3() {
  38. var str = "delete local variable";
  39. var local = 3;
  40. try {
  41. eval("var r = delete local;");
  42. write("r : " + r);
  43. } catch (e) {
  44. write("Exception: " + str + " " + exceptToString(e));
  45. return;
  46. }
  47. write("Return: " + str);
  48. }) ();
  49. (function Test4() {
  50. var str = "delete local function";
  51. var nestedTest4 = function nestedTest4() {} ;
  52. try {
  53. eval("var r = delete nestedTest4;");
  54. write("r : " + r);
  55. } catch (e) {
  56. write("Exception: " + str + " " + exceptToString(e));
  57. return;
  58. }
  59. write("Return: " + str);
  60. }) ();
  61. (function Test5(x) {
  62. var str = "delete parameter";
  63. try {
  64. eval("var r = delete x;");
  65. } catch (e) {
  66. write("Exception: " + str + " " + exceptToString(e));
  67. return;
  68. }
  69. write("Return: " + str);
  70. }) ();