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.

  • 🔁 Doe dit terwijl: Herhaalt de lus zolang de voorwaarde waar is.
  • ⛔ Doe tot: Herhaalt de lus totdat de voorwaarde waar wordt.
  • 🪟 Terwijl Wend: Verouderde lus zonder exit-optie.
  • 🔢 Voor de volgende keer: Tellergebaseerde lus met optionele stap.
  • ???? Voor elke volgende: Doorloop arrays, woordenlijsten of verzamelingen.
  • 🤖 AI-helpers: AI genereert VBScript-loops en legt exit-mechanismen uit.

VBScript-lussen

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:

VBScript Do While-lus

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:

VBScript Do Until Loop

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 While-lus

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-Next-lus

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:

VBScript For-Step-Next-lus

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 For-Step-Next-lus

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

VBScript voor elke volgende lus

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:

VBScript voor elke volgende lus

Klik op OK en uw uitvoer ziet er als volgt uit:

VBScript voor elke volgende lus

Veelgestelde vragen

Een Do While-lus wordt uitgevoerd zolang de lus waar is. Een Do Until-lus wordt uitgevoerd zolang de lus onwaar is.

Ja. AI vertaalt VBScript naar PowerShell. Pythonof JavaScript.

De AI signaleert ontbrekende verhogingen en stelt Exit Do-instructies voor.

Gebruik Exit Do of Exit For. Wend heeft geen Exit-optie.

Ja, maar Do While heeft de voorkeur vanwege de ondersteuning voor Exit Do.

Voor elke sleutel in dict.Keys, ga dan naar dict.Item(key).

Microsoft is afgekeurd. Gebruik PowerShell of Python voor nieuw werk.

Voor i = 1 tot 10, stap 2. Negatieve stappen lopen van hoog naar laag.

Vat dit bericht samen met: