//------------------------------------------------------------------------------------------------------- | |
// Copyright (C) Microsoft. All rights reserved. | |
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. | |
//------------------------------------------------------------------------------------------------------- | |
// Use do..while as a statement inside if..else | |
var str="if (1) do WScript.Echo(1); while (false); else 1;"; | |
try | |
{ | |
eval(str); | |
} | |
catch (e) | |
{ | |
WScript.Echo(e); | |
} | |
// Use do..while as a statement inside another do..while | |
str="do do WScript.Echo(2); while (false); while(false);" | |
try | |
{ | |
eval(str); | |
} | |
catch (e) | |
{ | |
WScript.Echo(e); | |
} | |
// do..while without a semicolon at the end, followed by another statement | |
// do while surrounds a statement without a semicolon, but ended with a newline | |
var a = 10; | |
do | |
WScript.Echo(3) | |
while (false) | |
var b=20; | |
with(a) do WScript.Echo(4); while (false) | |
for(var i=0; i<5; i++) | |
do | |
WScript.Echo("5."+i); | |
while(false) | |
// do..while as the last statement ended by EOF | |
do | |
WScript.Echo(6) | |
while (false) |