Цикли на VBScript: Do While, Do Until, While, For Every (Пример)
⚡ Умно обобщение
VBScript Loops обяснява как да се повтарят действия, използвайки конструкциите Do While, Do Until, While Wend, For Next, For Step и For Each, като обхваща синтаксис, условия за изход и примери.
Защо Loops се използват във VBScript?
Циклите се използват за изпълнение на един и същ блок код отново и отново. Съществуват редица VBScript loo-и.ping оператори. Някои от VBScript тоалетнитеping операторите са Do While (Докато), Do Until (Докато), For…..Next (За…Следващ) и така нататък. И така, как ще решите коя тоалетнаping изявление, което да използвате за вашите нужди?
Докато изпълнявате циклите, може да сте наясно или да не сте наясно колко пъти искате да изпълните набор от инструкции. Например, искате да изчислите сумата от две числа десет пъти. В този случай вече знаете, че искате да повторите блок от код 10 пъти. Да предположим, че искате да изчислите сумата от две числа, докато дадена променлива стане истина. Тук не знаете колко пъти трябва да се изпълни цикълът. Така че, въз основа на това дали знаете или не знаете броя на изпълненията, можете да използвате различни видове инструкции.ping изявления.
За…Следващата тоалетнаping Изразите се използват, ако искате да повторите блок от код краен брой пъти, че ако знаете броя пъти, ако искате да повторите блока от код.
Прави, докато и прави, докато тоалетнатаping Изразите се използват, когато искате да повторите блок от код, докато дадено условие стане вярно или невярно, тоест когато не сте наясно колко пъти искате да изпълните блока от код.
Нека да разгледаме тези тоалетниping изявления едно по едно.
VBScript Прави докато цикъл
Ако не знаете колко пъти трябва да изпълните блок от код, тогава ще използвате Do While цикли. Например, искате да изведете съобщението „Добре дошли“, докато стойността на променливата x е по-малка от 5. В такъв случай ще се използва Do While цикъл.
<script type="text/vbscript"> Dim x x=1 Do While x<5 document.write("Welcome.") x=x+1 Loop </script>
Ако опитате да изпълните кода, ще получите резултата по следния начин:
Блокът се изпълнява четири пъти (когато x=1,2,3 и 4) и цикълът завършва, когато стойността на x стане 5. Ако забравите израза x=x+1, вашият цикъл ще се превърне в безкраен един. Този вид примки е известен като безкрайни циклиБезкрайните цикли могат дори да доведат до срив на системата ви. Така че, докато използвате Do While looping оператори, трябва да се уверите, че има някакъв код, който ще накара тоалетната даping условието е вярно в един или друг момент.
Ако присвоите стойност 7 на променливата x в началото, тогава кодовият блок няма да бъде изпълнен дори веднъж. Да предположим, че искате да изпълните блока код поне веднъж, независимо от условието, тогава можете да използвате Do While цикъл. Променете кода така:
Пример за VBScript:
<script type="text/vbscript"> Dim x x=7 Do document.write("Welcome.") x=x+1 Loop While x<5 </script>
Ако изпълните този код, ще получите съобщението „Добре дошли“ само веднъж. Тук условието се проверява само след еднократно изпълнение на цикъла.
VBScript Do Until Loop
Цикълът „Do Until“ също се използва, когато не знаете колко време трябва да изпълните блок от код. Първият блок от код в Do Until цикъл (Do While x<5) е еквивалентен на дадения по-долу блок от код.
<script type="text/vbscript"> Dim x x=1 Do Until x=5 document.write("Welcome.") x=x+1 Loop </script>
Това ще ви даде същия резултат като първия блок от код в Do While цикъла. Ще видите съобщението за добре дошли четири пъти. Подобно на Do …..Loop While, ние също трябва да Do…Loop Until.
Ако искате да излезете от Do While или Do Until цикъл между тях, тогава можете да използвате оператор Exit Do. Да предположим, че искате да излезете от блока, когато стойността на x стане 3 в горната програма, тогава трябва да кодирате така:
<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>
Ако изпълните кода, изходът ви ще изглежда така:
Тук цикълът излиза, когато стойността на x стане 3.
VBScript Докато цикъл
Цикълът While...Wend е подобен на цикъла Do While, но не се използва често. Тъй като Do While е по-структуриран от цикъла While…..Wend, програмистите обикновено използват изрази Do While.
<script type="text/vbscript"> Dim x x = 1 While x < 5 document.write("Welcome.") x=x+1 Wend </script>
Резултатът ще бъде
VBScript за следващ цикъл
Цикълът For-Next може да се използва за изпълнение на блок от код за определен брой пъти. Цикълът „VBScript For“ указва променливата на брояча и нейните начална и крайна стойност. Операторът Next увеличава променливата на брояча с единица.
For i = 1 To 5 document.write("The number is " & i & " ") Next
Ако изпълните кода, ще получите резултата по следния начин:
VBScript For-Step-Next Loop
По подразбиране променливата на брояча се увеличава с единица. Ако искате да увеличите или намалите променливата на брояча със стойността, която сте посочили, тогава можете да използвате For….Step….Next цикъл. Да предположим, че в горния код искате да увеличите брояча с 2, след което променете кода си по следния начин:
For i = 1 To 5 Step 2 document.write("The number is " & i & "<br />") Next </script>
Резултатът от този код ще бъде:
Ако искате да излезете от цикъл For Next или For Step Next между тях, тогава можете да използвате Exit за оператора. Да предположим, че искате да излезете от блока, когато стойността на i стане 3 в горната програма, тогава трябва да кодирате така:
<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>
Изходът ще бъде:
VBScript за всеки следващ цикъл
Ако искате да повторите блок от код за всеки елемент в колекция или за всеки елемент от VBS масив, тогава трябва да използвате 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>
Резултатът от горепосочения код ще бъде
Code Пример
<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>
Запазете файла като loop.html на предпочитаното от вас място. Сега отворете файла в Internet Explorer и ще получите поле с молба да въведете вашето име. Въведете име, кажете Аарон, като това:
Щракнете върху OK и изходът ви ще изглежда така:





