Цикли на VBScript: Do While, Do Until, While, For Every (Пример)

⚡ Умно обобщение

VBScript Loops обяснява как да се повтарят действия, използвайки конструкциите Do While, Do Until, While Wend, For Next, For Step и For Each, като обхваща синтаксис, условия за изход и примери.

  • 🔁 Направете, докато: Циклите се изпълняват, докато условието е True.
  • Правете до: Циклите се изпълняват, докато условието стане True.
  • 🪟 Докато Уенд: Стар цикъл без опция за изход.
  • 🔢 За следващото: Цикъл, базиран на брояч, с опционална стъпка.
  • 📦 За всяко следващо: Итерирайте масиви, речници или колекции.
  • 🤖 Помощници с изкуствен интелект: Изкуственият интелект генерира VBScript цикли и обяснява изходите.

VBScript цикли

Защо 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>

Ако опитате да изпълните кода, ще получите резултата по следния начин:

VBScript Прави докато цикъл

Блокът се изпълнява четири пъти (когато 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>

Ако изпълните кода, изходът ви ще изглежда така:

VBScript Do Until Loop

Тук цикълът излиза, когато стойността на 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 Докато цикъл

VBScript за следващ цикъл

Цикълът For-Next може да се използва за изпълнение на блок от код за определен брой пъти. Цикълът „VBScript For“ указва променливата на брояча и нейните начална и крайна стойност. Операторът Next увеличава променливата на брояча с единица.

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

Ако изпълните кода, ще получите резултата по следния начин:

VBScript за следващ цикъл

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>

Резултатът от този код ще бъде:

VBScript For-Step-Next Loop

Ако искате да излезете от цикъл 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 For-Step-Next Loop

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>

Резултатът от горепосочения код ще бъде

VBScript за всеки следващ цикъл

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 и ще получите поле с молба да въведете вашето име. Въведете име, кажете Аарон, като това:

VBScript за всеки следващ цикъл

Щракнете върху OK и изходът ви ще изглежда така:

VBScript за всеки следващ цикъл

Въпроси и Отговори

Do While се изпълнява, докато е True. Do Until се изпълнява, докато е False.

Да. Изкуственият интелект превежда VBScript в PowerShell, Python или JavaСценарий.

Изкуственият интелект сигнализира за липсващи стъпки и предлага команди за изход „Do“.

Използвайте „Изход Do“ или „Изход For“. Wend няма опция за изход.

Да, но Do While е предпочитан заради поддръжката на Exit Do.

За всеки ключ в dict.Keys след това достъп до dict.Item(key).

Microsoft го отхвърлих. Използвайте PowerShell или Python за нова работа.

За i = 1 до 10 Стъпка 2. Отрицателните стъпки се движат отгоре надолу.

Обобщете тази публикация с: