برای تکرار بلاکی ازدستورات به تعداد دفعات مورد نظر از دستورات حلقه استفاده می کنیم .

در VBScript چهار نوع دستور حلقه داریم :

For...Next statement : دستورات را به تعداد دفعات مشخص تکرار می کند

For Each...Next statement : به ازای هر عنصر درون ارایه یا هر گزینه در مجموعه مورد نظر دستورات درون حلقه را تکرار می کند .

Do...Loop statement : تا زمانیکه شرط مورد نظر در ست باشد دستورات را تکرار می کند .

While...Wend statement : سعی کنید از این دستوراستفاده نکنید و به جای ان از do …loop استفاده نمائید .

 
حلقه For...Next
 

در این حلقه ما به یک متغیر شمارنده نیاز داریم در بیشتر جاها از نام i یا j استفاده  شده است وبه یک مقدار  اولیه و نهایی  برای شمارش نیاز داریم .

دستور next باعص افزایش مقدار شمارنده می شود

 

 

<html>
<body>

<script type="text/vbscript">


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


</script>

</body>
</html>

 
 مشاهده و اجرای برنامه کامل
 
دستور کلیدی Step
 

دستور step باعث افزایش یا کاهش مقدارشمارنده به مقدار مشخص می شود .

بدون استفاده از step ، مقدار شمارنده هر بار رسیدن به دستور next یک واحد افزایش می یابد .

در مثال زیر مقدار شمارنده هر بار دو واحد  افزوده می شود

 

 

For i=2 To 10   Step  2


         دستورات


Next

 
 

برای کاهش مقدار شمارنده باید مقداری منفی را جلوی step بنویسیم . وباید دقت کنید در چنین حالتی مقدار اولیه شمارنده بیشتر از مقدار نهایی  ان باشد .

 

در مثال زیر مقدار شمارنده حلقه for با هربار رسیدن به next دو واحد کم می شود

 

 

For i=10 To  2  Step  -2


       دستورات


Next

 
خروج از دستور  For...Next
 می توان با استفاده از دستور Exit For هر زمانکه لازم باشد زودتر از حلقه for خارج شد

 

For i=1 To  10


  If  i=5 Then  Exit For

  دستورات


Next

حلقه For Each...Next
  این دستور به ازای هر گزینه در مجموعه یا به ازای هر عنصر در ارایه دستورات را تکرار می کند .
 

 

<html>
<body>

<script type="text/vbscript">


Dim cars(2)
cars(0)="Volvo"
cars(1)="Saab"
cars(2)="BMW"

For Each x In  cars
  document.write(x & "<br />")
Next


</script>

</body>
</html>

 
 مشاهده و اجرای برنامه کامل
 
حلقه Do...Loop
  هر وقت ندانیم تعداد دفعات تکرار دستورات ما دقیقا چند تا است از این حلقه استفاده می کنیم . این حلقه تا زمانیکه شرط حلق هدرست باشد دستوراتش را تکرار می کند یا اینکه وقتی که شرط درست نیست تکرار می کند  و هر وقت شرط درست شد حلقه تمام می شود
  ( چهار نوع حلقه do داریم )
 

 نوع اول :

شرط ادامه حلقه اول حلقه بررسی می شو د . و اگر شرط درست باشد حلقه ادامه می یابد و اگر درست نباشد حلقه تمام می شود

 

do while شرط ادامه حلقه

      دستورات

loop

 

 نوع دوم :

در این نوع ابتدا یک دور از ابتدا تا انتهای دستورات حلقه بدو ن بررسی کردن هیچ شرطی انجام می شود و در انتهای حلقه ، شرط ادامه حلقه بررسی می شود

اگر شرط درست باشد دوباره حلقه ادامه می یابد و در غیر این صورت اجرای حلقه تمام می شود

 

do 

      دستورات

loop while شرط ادامه حلقه

 

 مدل سوم :

شرط ادامه حلقه اول حلقه بررسی می شو د . و اگر شرط درست نباشد حلقه ادامه می یابد و اگر درست باشد حلقه تمام می شود

 

 

 

do until شرط ادامه حلقه

      دستورات

loop

 
 مدل چهارم :
 

در این نوع ابتدا یک دور از ابتدا تا انتهای دستورات حلقه بدو ن بررسی کردن هیچ شرطی انجام می شود و در انتهای حلقه ، شرط ادامه حلقه بررسی می شود

اگر شرط درست نباشد دوباره حلقه ادامه می یابد و در غیر این صورت اجرای حلقه تمام می شود

 

 

do

      دستورات

loop until شرط ادامه حلقه

 
 
 مثال :

 

Do Until i=10
  دستورات
Loop
 
  در مثال بالا  که از کلمه  UNTIL  بعد از do استفاده شده است ، اگر i=10 شود حلقه پایان می پذیرد و دیگر تکرار نمی شود . در این حلقه شرط ورود یا عدم ورود به درون حلقه در ابتدای ان بررسی می شود
 
 
 
 مثال :

 

Do
        دستورات
Loop Until i=10

 
   در این نوع حلقه شرط ورود یا عدم ورود به حلقه در انتهای ان بررسی می شود در نتیجه حتما یک بار از اول تا اخر حلقه می رویم و یک بار دستورات اجرا می شود بعدا  با توجه به until اگر شرط درست بود حلقه  پایان می پذیرد و اگر نبود دوباره حلقه تکرار می شود
 

خروج از حلقه DO

  با دستور Exit Do می توان از حلقه DO خارج شد
  مثال :

 

  Do Until i=10
  i=i-1
  If i<10 Then Exit Do
Loop

 

  حلقه مثال بالا به طور طبیعی تا زمانیکه مقدار i مساوی 10 نباشد ادامه می باید و لی می توان درون حلقه دستور دیگری نوشت که اگر مقدار iکمتر از 10 شد از حلقه خارج شود