VBScript-lussen: Do While, Do Until, While, For Each (voorbeeld)
⚡ Slimme samenvatting
VBScript Loops legt uit hoe je acties kunt herhalen met behulp van Do While, Do Until, While Wend, For Next, For Step en For Each constructies, inclusief syntax, exitvoorwaarden en voorbeelden.

Waarom worden loops gebruikt in VBScript?
Lussen worden gebruikt om hetzelfde stuk code steeds opnieuw uit te voeren. Er zijn verschillende VBScript-lussen.ping verklaringen. Sommige VBScript-lookupping Voorbeelden van statements zijn: Do While, Do Until, For…Next, enzovoort. Hoe bepaal je dan welke je moet gebruiken?ping Welke formulering is het meest geschikt voor uw behoeften?
Tijdens het uitvoeren van lussen weet je mogelijk wel of niet hoe vaak je een reeks instructies wilt uitvoeren. Stel, je wilt de som van twee getallen tien keer berekenen. In dit geval weet je al dat je een codeblok tien keer wilt herhalen. Stel, je wilt de som van twee getallen berekenen totdat een bepaalde variabele waar wordt. Hier weet je niet hoe vaak de lus moet worden uitgevoerd. Afhankelijk van of je het aantal uitvoeringen wel of niet weet, kun je verschillende soorten lussen gebruiken.ping stellingen.
Voor…Volgende wcping Statements worden gebruikt als je een blok code een eindig aantal keren wilt herhalen, oftewel als je weet hoe vaak je het codeblok wilt herhalen.
Doe terwijl en doe tot...ping Instructies worden gebruikt wanneer je een blok code wilt herhalen totdat een voorwaarde waar of onwaar wordt, oftewel wanneer je niet weet hoe vaak je het codeblok wilt uitvoeren.
Laten we eens naar deze toiletten kijken.ping uitspraken één voor één.
VBScript Do While-lus
Als u niet weet hoe vaak u een codeblok moet uitvoeren, gebruikt u Do While-lussen. U wilt bijvoorbeeld het bericht 'Welkom' weergeven terwijl de waarde van de variabele x kleiner is dan 5. In dat geval wordt de Do While-lus gebruikt.
<script type="text/vbscript"> Dim x x=1 Do While x<5 document.write("Welcome.") x=x+1 Loop </script>
Als u de code probeert uit te voeren, krijgt u de uitvoer als volgt:
Het blok wordt vier keer uitgevoerd (wanneer x=1,2,3 en 4) en de lus eindigt wanneer de waarde van x 5 wordt. Als je de instructie x=x+1 vergeet, wordt je lus een oneindige lus. een. Dit soort lussen staat bekend als oneindige lussenOneindige lussen kunnen zelfs je systeem laten crashen. Dus, bij het gebruik van Do While-lussen...ping Bij deze verklaringen moet je ervoor zorgen dat er code is die het toilet aanzet.ping voorwaarde is op een bepaald moment waar.
Als u aan het begin de waarde 7 aan de variabele x toekent, wordt het codeblok niet één keer uitgevoerd. Stel dat u het codeblok minstens één keer wilt uitvoeren, ongeacht de voorwaarde, dan kunt u de Do While-lus gebruiken. Verander de code als volgt:
VBScript-voorbeeld:
<script type="text/vbscript"> Dim x x=7 Do document.write("Welcome.") x=x+1 Loop While x<5 </script>
Als u deze code uitvoert, krijgt u slechts één keer de melding “Welkom”. Hier wordt de voorwaarde pas gecontroleerd nadat de lus één keer is uitgevoerd.
VBScript Do Until Loop
De 'Do Until'-lus wordt ook gebruikt als u niet weet hoe lang u een codeblok moet uitvoeren. Het eerste codeblok in de Do Until-lus (Do While x<5) is equivalent aan het onderstaande codeblok.
<script type="text/vbscript"> Dim x x=1 Do Until x=5 document.write("Welcome.") x=x+1 Loop </script>
Dit geeft je dezelfde uitvoer als het eerste codeblok in de Do While-lus. U ziet het welkomstbericht vier keer. Vergelijkbaar met Do…..Loop While, we moeten ook Do…Loop Until doen.
Als u een Do While- of Do Until-lus tussendoor wilt afsluiten, kunt u de Exit Do-instructie gebruiken. Stel dat je het blok wilt verlaten als de waarde van x 3 wordt in het bovenstaande programma, dan moet je als volgt coderen:
<script type="text/vbscript"> Dim x x=1 Do Until x=5 If x=3 Then Exit Do document.write("Welcome.") x=x+1 Loop </script>
Als u de code uitvoert, ziet uw uitvoer er als volgt uit:
Hier wordt de lus verlaten wanneer de waarde van x 3 wordt.
VBScript While-lus
While…Wend-lus is vergelijkbaar met de Do While-lus, maar wordt niet vaak gebruikt. Omdat Do While meer gestructureerd is dan While…..Wend-lus, gebruiken programmeurs meestal Do While-instructies.
<script type="text/vbscript"> Dim x x = 1 While x < 5 document.write("Welcome.") x=x+1 Wend </script>
De uitvoer zal zijn:
VBScript For-Next-lus
De For-Next-lus kan worden gebruikt om een codeblok een bepaald aantal keren uit te voeren. De “VBScript For-lus” specificeert de countervariabele en de begin- en eindwaarden ervan. Met de instructie Next wordt de countervariabele met één verhoogd.
For i = 1 To 5 document.write("The number is " & i & " ") Next
Als u de code uitvoert, krijgt u de uitvoer als volgt:
VBScript For-Step-Next-lus
Standaard wordt de tellervariabele met één verhoogd. Als u de tellervariabele wilt verhogen of verlagen met de waarde die u opgeeft, kunt u For….Step….Next-lus gebruiken. Stel dat u in de bovenstaande code de teller met 2 wilt verhogen en wijzig vervolgens uw code als volgt:
For i = 1 To 5 Step 2 document.write("The number is " & i & "<br />") Next </script>
De uitvoer van deze code is:
Als u tussendoor een For Next- of For Step Next-lus wilt afsluiten, kunt u Exit voor de instructie gebruiken. Stel dat je het blok wilt verlaten als de waarde van i in het bovenstaande programma 3 wordt, dan moet je als volgt coderen:
<script type="text/vbscript"> For i = 1 To 5 Step 2 If i=3 Then Exit For document.write("The number is " & i & "<br />") Next </script>
De output zal worden:
VBScript voor elke volgende lus
Als je een codeblok wilt herhalen voor elk item in een verzameling of voor elk element van een VBS-array, dan moet je For…Each…Next-lus gebruiken.
<script type="text/vbscript"> Dim students(4) students(0)="John" students(1)="Hanah" students(2)="Sarah" students(3)="Kevin" students(4)="Emma" For Each x In students document.write(x & "<br />") Next </script>
De uitvoer van de hierboven gespecificeerde code zal zijn
Code Voorbeeld
<html> <head> <script type="text/vbscript"> Dim name, length name = InputBox("Enter your name") length = Len(name)’Gives length of the input string For i = 1 To length txt = Mid(name,i,1)'Returns a specified number of characters from a string, the first parameter is the string, second parameter is the starting position and third parameter is the number of characters to return If txt="a" or txt="A" or txt="e" or txt="E" or txt="i" or txt="I" or txt="o" or txt="O" or txt="u" or txt="U" Then counter = counter+1 End If Next document.write("Hi " & name & "!!!Your name contains " & counter & " vowels.") </script> </head> <body> </body> </html>
Sla het bestand op als loop.html op uw gewenste locatie. Open het bestand nu in Internet Explorer en u krijgt een vak waarin u wordt gevraagd uw naam in te voeren. Voer een naam in, bijvoorbeeld Aaron, zoals deze:
Klik op OK en uw uitvoer ziet er als volgt uit:




