VBScript-lussen: Do While, Do Until, While, For Each (voorbeeld)
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:
Samenvatting
- Toiletping Instructies worden gebruikt om hetzelfde codeblok steeds opnieuw uit te voeren.
- Je gebruikt Do-While, Do-Until en While-Wend loops als je van tevoren niet weet hoe vaak het blok moet worden uitgevoerd.
- U gebruikt de For-Next-, For-Next-Step- en For-Each-Next-lussen als u al weet hoe vaak u het codeblok moet uitvoeren.




