We all know that the For-Next and While-Wend loops execute statement(s) as long as the loop condition is true. However, there is a difference between the two. A loop condition is checked each time the While-Wend loop executes/iterates, whereas this is not the case with the For-Next loop (Loop condition is checked only once when this loop executes). Consider the following code:
Dim i,j j = 10 For i = 0 to j Response.Write i & "
" j = 12 Next
This loop will execute ten times rather than 12, even though the loop boundary value is changed with each iteration. Now consider the following code:
Dim i,j j = 10 i = 0 While i <= j Response.Write i & "
" j = 12 Wend
The code is almost the same as the previous code, except that I’ve used while-wend loop. Notice again that the loop boundary value is changing with each iteration. This will make this loop execute 12 times. The reason is quite evident: in the While-Wend loop, condition is checked with each iteration.
In a nutshell, if you are sure that loop boundary value will never change, then use the For-Next loop. This will greatly enhance the speed of your code. Otherwise, use the While-Wend loop.