VBScript วนซ้ำ: ทำในขณะที่ ทำจนกระทั่ง ในขณะที่ สำหรับแต่ละ (ตัวอย่าง)
⚡ สรุปอย่างชาญฉลาด
VBScript Loops อธิบายวิธีการทำซ้ำการกระทำโดยใช้โครงสร้าง Do While, Do Until, While Wend, For Next, For Step และ For Each โดยครอบคลุมไวยากรณ์ เงื่อนไขการออกจากลูป และตัวอย่าง

เหตุใดจึงใช้ Loops ใน VBScript
ลูปใช้สำหรับเรียกใช้โค้ดส่วนเดิมซ้ำแล้วซ้ำเล่า มีลูปใน VBScript อยู่หลายประเภทping คำสั่งต่างๆ บางส่วนของ VBScriptping คำสั่งต่างๆ ได้แก่ Do While, Do Until, For…..Next และอื่นๆ ดังนั้น คุณจะตัดสินใจเลือกอย่างไรว่าควรใช้คำสั่งใดping มีข้อความใดที่สามารถนำไปใช้กับความต้องการของคุณได้บ้าง?
ขณะที่กำลังรันลูป คุณอาจจะรู้หรือไม่รู้ก็ได้ว่าคุณต้องการรันชุดคำสั่งกี่ครั้ง ตัวอย่างเช่น คุณต้องการคำนวณผลรวมของตัวเลขสองจำนวนสิบครั้ง ในกรณีนี้ คุณรู้แล้วว่าคุณต้องการทำซ้ำบล็อกโค้ด 10 ครั้ง สมมติว่าคุณต้องการคำนวณผลรวมของตัวเลขสองจำนวนจนกว่าตัวแปรที่กำหนดจะเป็นจริง ในกรณีนี้ คุณไม่รู้ว่าลูปจะทำงานกี่ครั้ง ดังนั้น ขึ้นอยู่กับว่าคุณรู้หรือไม่รู้จำนวนครั้งที่ลูปจะทำงาน คุณสามารถใช้ลูปประเภทต่างๆ ได้ping งบ
สำหรับ…ห้องน้ำถัดไปping คำสั่ง `if` ใช้เมื่อคุณต้องการทำซ้ำบล็อกโค้ดเป็นจำนวนครั้งที่จำกัด โดยที่คุณทราบจำนวนครั้งที่ต้องการทำซ้ำบล็อกโค้ดนั้น
ทำในขณะที่ และ ทำจนกว่าping คำสั่ง `if` ใช้เมื่อคุณต้องการทำซ้ำบล็อกโค้ดจนกว่าเงื่อนไขจะเป็นจริงหรือเท็จ นั่นคือเมื่อคุณไม่ทราบจำนวนครั้งที่ต้องการเรียกใช้บล็อกโค้ดนั้น
ลองมาดูห้องน้ำเหล่านี้กันเถอะ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 ให้ระมัดระวังping คำสั่งต่างๆ คุณควรตรวจสอบให้แน่ใจว่ามีโค้ดบางส่วนที่จะทำให้ห้องน้ำใช้งานได้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' ยังใช้เมื่อคุณไม่ทราบจำนวนครั้งที่คุณต้องรันบล็อกโค้ด บล็อกแรกของโค้ดใน Do Until loop (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 เราก็ต้องทำ…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 loop คล้ายกับ Do While loop แม้ว่าจะไม่ได้ใช้กันทั่วไปก็ตาม เนื่องจาก Do While มีโครงสร้างมากกว่า While…..Wend loop โปรแกรมเมอร์มักจะใช้คำสั่ง 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 loop” ระบุตัวแปรตัวนับและค่าเริ่มต้นและสิ้นสุด คำสั่ง Next จะเพิ่มตัวแปรตัวนับทีละตัว
For i = 1 To 5 document.write("The number is " & i & " ") Next
หากคุณรันโค้ดคุณจะได้ผลลัพธ์ดังนี้:
VBScript สำหรับขั้นตอนถัดไปวนซ้ำ
ตามค่าเริ่มต้น ตัวแปรตัวนับจะเพิ่มขึ้นทีละหนึ่ง หากคุณต้องการเพิ่มหรือลดตัวแปรตัวนับตามค่าที่คุณระบุ คุณสามารถใช้ For….Step….Next loop สมมติว่าในโค้ดด้านบน คุณต้องการเพิ่มตัวนับ 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 loop
<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 แล้วคุณจะเห็นกล่องข้อความขอให้คุณป้อนชื่อของคุณ ป้อนชื่อ เช่น Aaron เช่นนี้:
คลิกตกลงและผลลัพธ์ของคุณจะมีลักษณะดังนี้:




