//------------------------------------------------------------------------------------------------------- // Copyright (C) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. //------------------------------------------------------------------------------------------------------- function write(v) { WScript.Echo(v + ""); } function exceptToString(ee) { if (ee instanceof TypeError) return "TypeError"; if (ee instanceof ReferenceError) return "ReferenceError"; if (ee instanceof EvalError) return "EvalError"; if (ee instanceof SyntaxError) return "SyntaxError"; return "Unknown Error"; } var gVarTest1 = 1; (function Test1() { var str = "delete global variable"; try { eval("var r = delete gVarTest1;"); write("r : " + r); } catch (e) { write("Exception: " + str + " " + exceptToString(e)); return; } write("Return: " + str); }) (); function gHelperFunction2() {} (function Test2() { var str = "delete global function"; try { eval("var r = delete gHelperFunction2;"); write("r : " + r); } catch (e) { write("Exception: " + str + " " + exceptToString(e)); return; } write("Return: " + str); }) (); (function Test3() { var str = "delete local variable"; var local = 3; try { eval("var r = delete local;"); write("r : " + r); } catch (e) { write("Exception: " + str + " " + exceptToString(e)); return; } write("Return: " + str); }) (); (function Test4() { var str = "delete local function"; var nestedTest4 = function nestedTest4() {} ; try { eval("var r = delete nestedTest4;"); write("r : " + r); } catch (e) { write("Exception: " + str + " " + exceptToString(e)); return; } write("Return: " + str); }) (); (function Test5(x) { var str = "delete parameter"; try { eval("var r = delete x;"); } catch (e) { write("Exception: " + str + " " + exceptToString(e)); return; } write("Return: " + str); }) ();