Pętle VBScript: Do While, Do Until, While, For Each (Przykład)

Dlaczego w VBScript używa się pętli?

Pętle służą do wielokrotnego wykonywania tego samego bloku kodu. Istnieje wiele pętli VBScript.ping instrukcje. Niektóre z poleceń VBScriptping polecenia to Do While, Do Until, For…Next itd. Jak więc zdecydujesz, które polecenieping Jakie oświadczenie możesz wykorzystać w zależności od swoich potrzeb?

Podczas wykonywania pętli możesz, ale nie musisz, być świadomy, ile razy chcesz wykonać zestaw instrukcji. Na przykład, chcesz obliczyć sumę dwóch liczb dziesięć razy. W tym przypadku wiesz już, że chcesz powtórzyć blok kodu 10 razy. Załóżmy, że chcesz obliczyć sumę dwóch liczb, aż dana zmienna stanie się prawdziwa. W tym przypadku nie wiesz, ile razy ma zostać wykonana pętla. Zatem w zależności od tego, czy znasz, czy nie znasz liczby wykonań, możesz użyć różnych typów instrukcji loo.ping sprawozdania.

Do…Następnego spojrzeniaping Instrukcje te są używane, gdy chcesz powtórzyć blok kodu skończoną liczbę razy, o ile znasz liczbę powtórzeń, które chcesz powtórzyć w danym bloku kodu.

Rób dopóki i rób dopókiping Instrukcje te stosuje się, gdy chcemy powtórzyć blok kodu, aż warunek stanie się prawdą lub fałszem, czyli gdy nie jesteśmy świadomi, ile razy chcemy wykonać blok kodu.

Przyjrzyjmy się tym toaletomping oświadczenia jedno po drugim.

VBScript działa podczas pętli

Jeśli nie wiesz, ile razy musisz wykonać blok kodu, użyjesz pętli Do While. Na przykład chcesz wyświetlić komunikat „Witamy”, gdy wartość zmiennej x jest mniejsza niż 5. W takim przypadku zostanie użyta pętla Do While.

<script type="text/vbscript">
Dim x
x=1
Do While x<5
document.write("Welcome.")
x=x+1
Loop
</script>

Jeśli spróbujesz wykonać kod, otrzymasz następujący wynik:

VBScript działa podczas pętli

Blok zostanie wykonany cztery razy (kiedy x=1,2,3 i 4), a pętla zakończy się, gdy wartość x osiągnie 5. Jeśli zapomnisz instrukcji x=x+1, twoja pętla stanie się niekończącą się jeden. Ten rodzaj pętli jest znany jako nieskończone pętle. Nieskończone pętle mogą nawet spowodować awarię systemu. Dlatego podczas korzystania z polecenia Do While looping oświadczenia, należy upewnić się, że istnieje jakiś kod, który sprawi, że wyszukiwanieping warunek jest prawdziwy w pewnym momencie.

Jeśli na początku przypiszesz zmiennej x wartość 7, to blok kodu nie zostanie wykonany ani razu. Załóżmy, że chcesz wykonać blok kodu przynajmniej raz, niezależnie od warunku, wtedy możesz użyć pętli Do While. Zmień kod w ten sposób:

Przykład VBScriptu:

<script type="text/vbscript">
Dim x
x=7
Do 
document.write("Welcome.")
x=x+1
Loop While x<5
</script>

Jeśli wykonasz ten kod, tylko raz otrzymasz wiadomość „Witamy”. Tutaj warunek jest sprawdzany dopiero po jednokrotnym wykonaniu pętli.

VBScript Wykonaj pętlę aż do

Pętla „Do Until” jest używana także wtedy, gdy nie wiadomo, ile czasu potrzeba na wykonanie bloku kodu. Pierwszy blok kodu w pętli Do Until (Do While x<5) jest odpowiednikiem podanego poniżej bloku kodu.

<script type="text/vbscript">
Dim x
x=1
Do Until x=5
document.write("Welcome.")
x=x+1
Loop
</script>

Otrzymasz taki sam wynik, jak pierwszy blok kodu w pętli Do While. Zobaczysz wiadomość powitalną cztery razy. Podobnie jak w przypadku Wykonaj…..Pętla podczas, musimy również wykonać…Zapętlenie aż.

Jeśli chcesz zakończyć pętlę Do While lub Do Until pomiędzy, możesz użyć instrukcji Exit Do. Załóżmy, że chcesz wyjść z bloku, gdy w powyższym programie wartość x wynosi 3, musisz zakodować w ten sposób:

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

Jeśli wykonasz kod, dane wyjściowe będą wyglądać następująco:

VBScript Wykonaj pętlę aż do

Tutaj pętla zostaje zakończona, gdy wartość x osiągnie 3.

VBScript podczas pętli

Pętla While…Wend jest podobna do pętli Do While, choć nie jest powszechnie używana. Ponieważ pętla Do While jest bardziej zorganizowana niż pętla While…..Wend, programiści zwykle używają instrukcji Do While.

<script type="text/vbscript">
Dim x
x = 1   
While x < 5   
document.write("Welcome.")
x=x+1
Wend  
</script>	

Dane wyjściowe będą

VBScript podczas pętli

Pętla For-Next w języku VBScript

Pętli For-Next można użyć do wykonania bloku kodu określoną liczbę razy. „Pętla VBScript For” określa zmienną licznika oraz jej wartości początkowe i końcowe. Instrukcja Next zwiększa zmienną licznika o jeden.

For i = 1 To 5
  document.write("The number is " & i & "
")
Next

Jeśli wykonasz kod, otrzymasz następujący wynik:

Pętla For-Next w języku VBScript

Pętla VBScript „Krok-Następny”.

Domyślnie zmienna licznika jest zwiększana o jeden. Jeśli chcesz zwiększyć lub zmniejszyć zmienną licznika o określoną wartość, możesz użyć pętli For….Step….Next. Załóżmy, że w powyższym kodzie chcesz zwiększyć licznik o 2, a następnie zmodyfikuj swój kod w następujący sposób:

For i = 1 To 5 Step 2
  document.write("The number is " & i & "<br />")
Next
</script>

Wynik tego kodu będzie:

Pętla VBScript „Krok-Następny”.

Jeśli chcesz zakończyć pętlę For Next lub For Step Next pomiędzy nimi, możesz użyć Exit dla instrukcji. Załóżmy, że chcesz wyjść z bloku, gdy w powyższym programie wartość i wynosi 3, musisz zakodować w ten sposób:

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

Wyjście będzie:

Pętla VBScript „Krok-Następny”.

VBScript dla każdej następnej pętli

Jeśli chcesz powtórzyć blok kodu dla każdego elementu kolekcji lub każdego elementu tablicy VBS, musisz użyć pętli For…Each…Next.

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

Dane wyjściowe powyższego kodu będą

VBScript dla każdej następnej pętli

Code Przykład

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

Zapisz plik jako loop.html w preferowanej lokalizacji. Teraz otwórz plik w Internet Explorerze, a pojawi się okno z prośbą o podanie imienia. Wpisz imię, powiedzmy Aaron, w ten sposób:

VBScript dla każdej następnej pętli

Kliknij OK, a dane wyjściowe będą wyglądać następująco:

VBScript dla każdej następnej pętli

Podsumowanie

  • Looping Instrukcje służą do wielokrotnego wykonywania tego samego bloku kodu.
  • Pętli Do-While, Do-Until i While-Wend będziesz używać, gdy nie wiesz z góry, ile razy blok ma zostać wykonany.
  • Pętli For-Next, For-Next-Step i For-Each-Next użyjesz, jeśli już wiesz, ile razy musisz wykonać blok kodu.

Podsumuj ten post następująco: