VBScript-løkker: Gør mens, gør indtil, mens, for hver (eksempel)
Hvorfor bruges loops i VBScript?
Sløjfer bruges til at udføre den samme kodeblok igen og igen. Der er en række VBScript-løkkesætninger. Nogle af VBScript-løkkesætningerne er Do While, Do Until, For…..Next og så videre. Så hvordan vil du beslutte, hvilken looping-erklæring du skal bruge til dit behov?
Mens du udfører løkkerne, er du måske eller måske ikke klar over, hvor mange gange du vil udføre et sæt instruktioner. For eksempel vil du beregne summen af to tal ti gange. I dette tilfælde ved du allerede, at du vil gentage en kodeblok 10 gange. Antag, at du vil beregne summen af to tal, indtil en bestemt variabel bliver sand. Her ved du ikke, hvor mange gange løkken skal udføres. Så baseret på om du kender eller ikke kender antallet af henrettelser, kan du bruge forskellige typer looping-sætninger.
For...Næste looping-sætninger bruges, hvis du ønsker at gentage en kodeblok et begrænset antal gange, at hvis du kender antallet af gange, hvis du vil gentage kodeblokken.
Do While og Do Until looping-sætninger bruges, når du vil gentage en kodeblok, indtil en betingelse bliver sand eller falsk, det vil sige, når du ikke er klar over antallet af gange, du vil udføre kodeblokken.
Lad os tage et kig på disse looping-udsagn én efter én.
VBScript Do While Loop
Hvis du ikke ved, hvor mange gange du skal udføre en kodeblok, så vil du bruge Do While-løkker. For eksempel vil du udsende meddelelsen "Velkommen", mens værdien af variablen x er mindre end 5. I sådanne tilfælde vil Do While-løkke blive brugt.
<script type="text/vbscript"> Dim x x=1 Do While x<5 document.write("Welcome.") x=x+1 Loop </script>
Hvis du prøver at udføre koden, får du output som dette:
Blokken udføres fire gange (når x=1,2,3 og 4), og løkken slutter, når værdien af x bliver 5. Hvis du glemmer sætningen x=x+1, vil din løkke blive en uendelig en. Denne slags sløjfer er kendt som uendelige sløjfer. Uendelige loops kan endda nedbryde dit system. Så mens du bruger Do While looping-sætninger, skal du sørge for, at der er en eller anden kode, der vil gøre looping-betingelsen sand på et eller andet tidspunkt.
Hvis du tildeler værdien 7 til variablen x i begyndelsen, vil kodeblokken ikke blive udført én gang. Antag, at du vil udføre kodeblokken mindst én gang uanset betingelsen, så kan du bruge Do While-løkken. Skift koden sådan her:
VBScript eksempel:
<script type="text/vbscript"> Dim x x=7 Do document.write("Welcome.") x=x+1 Loop While x<5 </script>
Hvis du udfører denne kode, får du beskeden "Velkommen" kun én gang. Her kontrolleres betingelsen først efter at have udført løkken én gang.
VBScript Gør indtil Loop
'Do Until'-løkke bruges også, når du ikke ved, hvor mange gange du skal bruge til at udføre en kodeblok. Den første kodeblok i Do Until-løkken (Do While x<5) svarer til den nedenstående kodeblok.
<script type="text/vbscript"> Dim x x=1 Do Until x=5 document.write("Welcome.") x=x+1 Loop </script>
Dette vil give dig det samme output som den første kodeblok i Do While-løkken. Du vil se velkomstbeskeden fire gange. Svarende til Do …..Loop While, vi skal også Do…Loop Until.
Hvis du vil afslutte en Do While- eller Do Until-løkke derimellem, så kan du bruge Exit Do-sætning. Antag, at du vil forlade blokken, når værdien af x bliver 3 i ovenstående program, så skal du kode sådan:
<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>
Hvis du udfører koden, vil dit output se sådan ud:
Her forlades løkken, når værdien af x bliver 3.
VBScript Mens Loop
While...Wend-løkke ligner Do While-løkke, selvom det ikke bruges almindeligt. As Do While er mere struktureret end While…..Wend loop, programmører bruger normalt Do While-sætninger.
<script type="text/vbscript"> Dim x x = 1 While x < 5 document.write("Welcome.") x=x+1 Wend </script>
Udgangen bliver
VBScript For-Next Loop
For-Next-løkken kan bruges til at udføre en kodeblok et bestemt antal gange. "VBScript For loop" specificerer tællervariablen og dens start- og slutværdier. Næste sætning øger tællervariablen med én.
For i = 1 To 5 document.write("The number is " & i & " ") Next
Hvis du udfører koden, får du output som dette:
VBScript For-Step-Next Loop
Som standard øges tællervariablen med én. Hvis du vil øge eller mindske tællervariablen med den værdi, du angiver, kan du bruge For….Step….Next loop. Antag, at du i ovenstående kode vil øge tælleren med 2, og derefter ændre din kode på denne måde:
For i = 1 To 5 Step 2 document.write("The number is " & i & "<br />") Next </script>
Outputtet af denne kode vil være:
Hvis du vil afslutte en For Next eller For Step Next loop imellem, så kan du bruge Exit til sætningen. Antag, at du vil forlade blokken, når værdien af i bliver 3 i ovenstående program, så skal du kode sådan:
<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>
Outputtet vil være:
VBScript For-Each-Next Loop
Hvis du vil gentage en kodeblok for hvert element i en samling eller for hvert element i et VBS-array, skal du bruge For...Each...Next loop.
<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>
Outputtet af den ovenfor angivne kode vil være
Kodeeksempel
<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>
Gem filen som loop.html på din foretrukne placering. Åbn nu filen i Internet Explorer, og du vil få en boks, der beder dig indtaste dit navn. Indtast et navn, sig Aaron, sådan her:
Klik på OK, og dit output vil se sådan ud:
Resumé
- Looping-sætninger bruges til at udføre den samme kodeblok igen og igen.
- Du vil bruge Do-While, Do-Until og While-Wend loops, når du ikke på forhånd ved, hvor mange gange blokken skal udføres.
- Du vil bruge For-Next, For-Next-Step og For-Each-Next-løkker, hvis du allerede ved, hvor mange gange du skal udføre kodeblokken.