Vòng lặp VBScript: Do While, Do Until, While, For Each (Ví dụ)

⚡ Tóm tắt thông minh

VBScript Loops giải thích cách lặp lại các hành động bằng cách sử dụng các cấu trúc Do While, Do Until, While Wend, For Next, For Step và For Each, bao gồm cú pháp, điều kiện thoát và ví dụ.

  • 🔁 Thực hiện trong khi: Vòng lặp sẽ tiếp tục cho đến khi điều kiện đúng.
  • ⛔ Thực hiện cho đến khi: Lặp lại cho đến khi điều kiện trở thành Đúng.
  • 🪟 Trong khi đó, Wend: Vòng lặp cũ không có tùy chọn Thoát.
  • 🔢 Tiếp theo: Vòng lặp dựa trên bộ đếm với tùy chọn bước nhảy.
  • 📦 Đối với mỗi lần tiếp theo: Lặp qua mảng, từ điển hoặc tập hợp.
  • 🤖 Trợ lý AI: Trí tuệ nhân tạo tạo ra các vòng lặp VBScript và giải thích cách thoát khỏi vòng lặp.

Vòng lặp VBScript

Tại sao vòng lặp được sử dụng trong VBScript?

Vòng lặp được sử dụng để thực thi cùng một khối mã nhiều lần. Có một số vòng lặp trong VBScript...ping các câu lệnh. Một số đoạn mã VBScript trông như thế nàoping Các câu lệnh điều khiển bao gồm Do While, Do Until, For…Next, v.v. Vậy làm thế nào bạn sẽ quyết định chọn câu lệnh nào?ping Bạn nên sử dụng câu nào cho nhu cầu của mình?

Khi thực thi các vòng lặp, bạn có thể biết hoặc không biết số lần bạn muốn thực hiện một tập hợp các lệnh. Ví dụ, bạn muốn tính tổng của hai số mười lần. Trong trường hợp này, bạn đã biết bạn muốn lặp lại một khối mã 10 lần. Giả sử, bạn muốn tính tổng của hai số cho đến khi một biến cụ thể trở thành đúng. Ở đây, bạn không biết vòng lặp sẽ được thực hiện bao nhiêu lần. Vì vậy, tùy thuộc vào việc bạn biết hay không biết số lần thực hiện, bạn có thể sử dụng các loại vòng lặp khác nhau.ping các câu lệnh.

Đến… Nhà vệ sinh tiếp theoping Câu lệnh được sử dụng nếu bạn muốn lặp lại một khối mã một số lần hữu hạn, tức là nếu bạn biết số lần bạn muốn lặp lại khối mã đó.

Thực hiện lệnh Do While và Do Until looping Câu lệnh được sử dụng khi bạn muốn lặp lại một khối mã cho đến khi một điều kiện trở thành đúng hoặc sai, tức là khi bạn không biết mình muốn thực thi khối mã đó bao nhiêu lần.

Hãy cùng xem qua những nhà vệ sinh này.ping từng câu một.

VBScript Thực hiện vòng lặp while

Nếu bạn không biết số lần cần thực thi một khối mã thì bạn sẽ sử dụng vòng lặp Do While. Ví dụ: bạn muốn xuất thông báo “Chào mừng” trong khi giá trị của biến x nhỏ hơn 5. Trong trường hợp đó, vòng lặp Do While sẽ được sử dụng.

<script type="text/vbscript">
Dim x
x=1
Do While x<5
document.write("Welcome.")
x=x+1
Loop
</script>

Nếu bạn thử thực thi mã, bạn sẽ nhận được kết quả như thế này:

VBScript Thực hiện vòng lặp while

Khối này được thực thi bốn lần (khi x=1,2,3 và 4) và vòng lặp kết thúc khi giá trị của x trở thành 5. Nếu bạn quên câu lệnh x=x+1 thì vòng lặp của bạn sẽ trở thành một vòng lặp không bao giờ kết thúc một. Loại vòng lặp này được gọi là vòng lặp vô hạnVòng lặp vô hạn thậm chí có thể làm sập hệ thống của bạn. Vì vậy, khi sử dụng Do While, hãy cẩn thận...ping Trong các câu lệnh, bạn nên đảm bảo rằng có một số đoạn mã sẽ thực hiện việc đó.ping Điều kiện này đúng vào một thời điểm nào đó.

Nếu bạn gán giá trị 7 cho biến x lúc đầu thì khối mã sẽ không được thực thi dù chỉ một lần. Giả sử bạn muốn thực thi khối mã ít nhất một lần bất kể điều kiện nào thì bạn có thể sử dụng vòng lặp Do While. Thay đổi mã như thế này:

Ví dụ VBScript:

<script type="text/vbscript">
Dim x
x=7
Do 
document.write("Welcome.")
x=x+1
Loop While x<5
</script>

Nếu bạn thực thi mã này, bạn sẽ nhận được thông báo “Chào mừng” chỉ một lần. Ở đây điều kiện chỉ được kiểm tra sau khi thực hiện vòng lặp một lần.

VBScript Thực hiện cho đến vòng lặp

Vòng lặp 'Do Until' cũng được sử dụng khi bạn không biết mình cần bao nhiêu thời gian để thực thi một khối mã. Khối mã đầu tiên trong vòng lặp Do Until (Do While x<5) tương đương với khối mã được đưa ra bên dưới.

<script type="text/vbscript">
Dim x
x=1
Do Until x=5
document.write("Welcome.")
x=x+1
Loop
</script>

Điều này sẽ cung cấp cho bạn kết quả đầu ra giống như khối mã đầu tiên trong vòng lặp Do While. Bạn sẽ thấy thông báo Chào mừng bốn lần. Tương tự như Do…..Loop While, chúng ta cũng phải Do…Loop Until.

Nếu bạn muốn thoát khỏi vòng lặp Do While hoặc Do Until ở giữa thì bạn có thể sử dụng câu lệnh Thoát Do. Giả sử bạn muốn thoát khỏi khối khi giá trị của x trở thành 3 trong chương trình trên thì bạn cần viết mã như sau:

<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>

Nếu bạn thực thi mã, đầu ra của bạn sẽ trông như thế này:

VBScript Thực hiện cho đến vòng lặp

Ở đây vòng lặp được thoát khi giá trị của x trở thành 3.

Vòng lặp while của VBScript

Vòng lặp While…Wend tương tự như vòng lặp Do While nhưng không được sử dụng phổ biến. Vì vòng lặp Do While có cấu trúc chặt chẽ hơn vòng lặp While…..Wend nên các lập trình viên thường sử dụng các câu lệnh Do While.

<script type="text/vbscript">
Dim x
x = 1   
While x < 5   
document.write("Welcome.")
x=x+1
Wend  
</script>	

Đầu ra sẽ là

Vòng lặp while của VBScript

Vòng lặp For-Next của VBScript

Vòng lặp For-Next có thể được sử dụng để thực thi một khối mã trong một số lần cụ thể. “Vòng lặp VBScript For” chỉ định biến đếm cũng như giá trị bắt đầu và kết thúc của nó. Câu lệnh Next tăng biến đếm lên một.

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

Nếu bạn thực thi mã, bạn sẽ nhận được kết quả như thế này:

Vòng lặp For-Next của VBScript

Vòng lặp cho bước tiếp theo của VBScript

Theo mặc định, biến đếm được tăng thêm một. Nếu bạn muốn tăng hoặc giảm biến đếm theo giá trị bạn chỉ định, thì bạn có thể sử dụng vòng lặp For….Step….Next. Giả sử trong đoạn mã trên, bạn muốn tăng bộ đếm lên 2, sau đó sửa đổi mã của mình như thế này:

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

Đầu ra của mã này sẽ là:

Vòng lặp cho bước tiếp theo của VBScript

Nếu bạn muốn thoát khỏi vòng lặp For Next hoặc For Step Next ở giữa thì bạn có thể sử dụng Exit cho câu lệnh. Giả sử bạn muốn thoát khỏi khối khi giá trị của i trở thành 3 trong chương trình trên thì bạn cần viết mã như sau:

<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>

Đầu ra sẽ là:

Vòng lặp cho bước tiếp theo của VBScript

Vòng lặp cho mỗi lần tiếp theo của VBScript

Nếu bạn muốn lặp lại một khối mã cho từng mục trong bộ sưu tập hoặc cho từng phần tử của mảng VBS, thì bạn cần sử dụng vòng lặp 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>

Đầu ra của mã được chỉ định ở trên sẽ là

Vòng lặp cho mỗi lần tiếp theo của VBScript

Code Ví dụ

<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>

Lưu tệp dưới dạng loop.html ở vị trí bạn muốn. Bây giờ hãy mở tệp trong Internet Explorer và bạn sẽ thấy một hộp yêu cầu bạn nhập tên của mình. Nhập tên, chẳng hạn như Aaron, như thế này:

Vòng lặp cho mỗi lần tiếp theo của VBScript

Nhấp vào OK và đầu ra của bạn sẽ trông như thế này:

Vòng lặp cho mỗi lần tiếp theo của VBScript

Câu Hỏi Thường Gặp

Vòng lặp Do While chạy khi giá trị True là đúng. Vòng lặp Do Until chạy khi giá trị False là sai.

Đúng vậy. Trí tuệ nhân tạo (AI) dịch VBScript sang PowerShell. Python, hoặc là JavaKịch bản.

AI phát hiện các bước tăng bị thiếu và đề xuất các câu lệnh Exit Do.

Hãy sử dụng tùy chọn Thoát Do hoặc Thoát For. Wend không có tùy chọn Thoát.

Đúng vậy, nhưng Do While được ưu tiên hơn vì nó hỗ trợ Exit Do.

Đối với mỗi khóa trong dict.Keys thì truy cập dict.Item(key).

Microsoft Đã loại bỏ tính năng này. Hãy sử dụng PowerShell hoặc Python cho công việc mới.

Đối với i = 1 đến 10, Bước 2. Các bước âm di chuyển từ cao xuống thấp.

Tóm tắt bài viết này với: