Lệnh continue sẽ bỏ qua một lần lặp trong vòng lặp khi điều kiện xảy ra, sau đó sẽ tiếp tục vòng lặp [nếu có]
Bài viết này được đăng tại freetuts. mạng, không được sao chép dưới mọi hình thức
Sự khác biệt giữa câu lệnh break và continue là câu lệnh break sẽ thoát khỏi vòng lặp còn câu lệnh continue sẽ chỉ thoát khỏi một lần lặp trong vòng lặp
Tuy nhiên, khi câu lệnh continue được thực thi, nó sẽ thay đổi đối với mỗi loại vòng lặp
- Trong vòng lặp while, điều kiện sẽ được kiểm tra và nếu nó trả về True, vòng lặp sẽ tiếp tục chạy
- Trong vòng lặp cho, biểu thức tăng dần [ví dụ.
Học lập trình miễn phí tại freetuts.net Run
83] được thực hiện lần đầu tiên, và sau đó điều kiện được kiểm tra để tìm hiểu cần lặp lại một lần nữa hoặc không
Câu lệnh continue cũng có thể được sử dụng với tham chiếu nhãn tùy chọn
Bài viết này đã được đăng tại [free tuts. mạng lưới]
Câu lệnh continue chỉ có thể được sử dụng trong vòng lặp
cú pháp.
Học lập trình miễn phí tại freetuts.net Run84
hoặc.
Học lập trình miễn phí tại freetuts.net Run85
chi tiết kỹ thuật
Phiên bản Javascript. ECMAScript 1
A number ví dụ
Trong ví dụ dưới đây, ta sẽ sử dụng vòng lặp kết hợp với lệnh
Học lập trình miễn phí tại freetuts.net Run86 Vòng lặp sẽ lặp lại câu lệnh với mỗi giá trị của tôi, tuy nhiên Vòng lặp sẽ bỏ qua khi
The number is 0 The number is 1 The number is 2 The number is 40
Học lập trình miễn phí tại freetuts.net Run
The number is 0 The number is 1 The number is 2 The number is 4
Vòng lặp sẽ thực hiện mã lệnh với từng giá trị của i, tuy nhiên nó sẽ bỏ qua giá trị i = 2 và i = 3[ sử dụng toán tử OR]
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "
"; }
Trong ví dụ này, ta sử dụng vòng lặp kết hợp với câu lệnh tiếp tục, vòng lặp sẽ in ra các phần tử của mảng, tuy nhiên nó sẽ bỏ qua phần tử "php"
Học lập trình miễn phí tại freetuts.net Run
Sử dụng câu lệnh break kết hợp với tham chiếu nhãn để thoát khỏi một vòng lặp của vòng lặp con được đặt trong một vòng lặp khác
Câu lệnh continue được sử dụng trong cấu trúc vòng lặp để bỏ qua bước lặp và tiếp tục thực hiện khi bắt đầu thực hiện điều kiện. Nó chủ yếu được sử dụng để bỏ qua bước lặp hiện tại và kiểm tra điều kiện tiếp theo.
Tiếp tục chấp nhận một giá trị số tùy chọn cho biết bạn muốn bỏ qua bao nhiêu vòng lặp. Giá trị mặc định của nó là 1
cú pháp
loop { // Statements ... continue; }
ví dụ 1. Đoạn mã sau hiển thị một đoạn mã đơn giản với câu lệnh continue
PHP
Học lập trình miễn phí tại freetuts.net Run87
Học lập trình miễn phí tại freetuts.net Run88
Học lập trình miễn phí tại freetuts.net Run89
Học lập trình miễn phí tại freetuts.net Run90
Học lập trình miễn phí tại freetuts.net Run91_______192
Học lập trình miễn phí tại freetuts.net Run93
Học lập trình miễn phí tại freetuts.net Run92
1 3 5 7 91____192
1 3 5 7 93
Học lập trình miễn phí tại freetuts.net Run89
1 3 5 7 95
1 3 5 7 96
1 3 5 7 97
Học lập trình miễn phí tại freetuts.net Run91____192
Học lập trình miễn phí tại freetuts.net Run10
1 3 5 7 96
1 3 5 7 95
Học lập trình miễn phí tại freetuts.net Run13
Học lập trình miễn phí tại freetuts.net Run14
Học lập trình miễn phí tại freetuts.net Run15
1 3 5 7 96____117
1 3 5 7 96______119
Học lập trình miễn phí tại freetuts.net Run92
Học lập trình miễn phí tại freetuts.net Run871
Học lập trình miễn phí tại freetuts.net Run872
Học lập trình miễn phí tại freetuts.net Run15
Học lập trình miễn phí tại freetuts.net Run89
Học lập trình miễn phí tại freetuts.net Run17
Học lập trình miễn phí tại freetuts.net Run876
Đầu ra
1 3 5 7 9
ví dụ 2. Đoạn mã sau hiển thị câu lệnh continue 2 sẽ tiếp tục với lần lặp tiếp theo của vòng lặp bên ngoài
Lời khuyên. Có một lỗi bảo mật cực kỳ nổi tiếng được gọi là "goto fail", đã ảnh hưởng nghiêm trọng đến Lớp cổng bảo mật [SSL] tồn tại trong các sản phẩm của Apple trong nhiều năm, bời vì một lập trình viên đã quên mất dấu . Điều này cho phép những kẻ tấn công có bằng chứng chỉ bảo mật được chấp nhận, trong trường hợp đáng lẽ nó phải bị từ chối. Tóm tắt, nếu nghi ngờ có lỗi phát sinh, bạn nên đặt dấu ngoặc nhọn trong lệnh
The number is 0 The number is 1 The number is 2 The number is 446
Tuy nhiên, để rút gọn, trong loạt bài này, tôi sẽ bỏ qua các dấu trích dẫn cho các lệnh đơn.
Trong ví dụ dưới đây, ta có ví dụ rằng, giả sử dụng hiện tại đã đến cuối tháng, và bạn đã thanh toán tất cả các đơn hóa cần thiết, sau đó bạn sẽ thực hiện duy trì .
The number is 0 The number is 1 The number is 2 The number is 46
Trong ví dụ này, ta đã thực hiện kiểm tra xem số dư [ bankbalance]trongtaˋikhoảncoˊnhỏhơn100bank_balance] trong tài khoản có nhỏ hơn 100 . Nếu có, ta sẽ nạp thêm 1000$. Nếu số dư > 100$, thì câu lệnh điều kiện nếu sẽ không được thực hiện, và dòng chương trình sẽ nhảy qua dòng tiếp theo. kbalance]trongtaˋikhoảncoˊnhỏhơn100 hay không. Nếu có, ta sẽ nạp thêm 1000$. Nếu số dư > 100$, thì câu lệnh điều kiện if sẽ không được thực hiện, và program flow sẽ nhảy qua line tiếp theo.
Trong các bài hướng dẫn này, tôi thường đặt dấu ngoặc nhọn trên một dòng mới. Tuy nhiên, một số người thích đặt lại dấu trích dẫn đầu tiên ngay bên phải của biểu thức điều kiện. Nói chung trong hai cách này đều tốt, vì PHP cho phép thiết lập các ký tự khoảng trắng theo bất kỳ cách nào bạn muốn [ví dụ, dấu cách, dòng mới, tab. ]. Tuy nhiên, kinh nghiệm của tôi cho thấy rằng, mã của bạn sẽ dễ đọc và gỡ lỗi hơn nếu bạn bắt đầu dòng trên dòng mới với 1 tab.
Tuyên bố khác
Đôi khi một điều kiện không phải là TRUE, và bạn không muốn nó tiếp tục thực hiện theo luồng chương trình chính mà muốn nó thực hiện một điều kiện khác, thì đây chính là lúc chúng ta sử dụng lệnh
The number is 0 The number is 1 The number is 2 The number is 477. Với lệnh
The number is 0 The number is 1 The number is 2 The number is 477 này, bạn có thể thiết lập chương trình đi theo con đường vòng thứ 2, như trong hình dưới đây.
Với biểu thức
The number is 0 The number is 1 The number is 2 The number is 479, câu lệnh đầu tiên sẽ được thực hiện nếu điều kiện là TRUE. Ngược lại, nếu điều kiện là FALSE thì câu lệnh thứ 2 sẽ được thực thi. Tóm tắt lại là một trong 2 lựa chọn sẽ được thực hiện. Không có trường hợp nào mà cả 2 lựa chọn đều được thực thi, hoặc tất cả đều không được thực thi. Bạn có thể xem ví dụ về cấu trúc
The number is 0 The number is 1 The number is 2 The number is 479 dưới đây.
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "1
"; }
Trong ví dụ này, nếu bạn có >= 100$ trong tài khoản ngân hàng, thì câu lệnh
The number is 0 The number is 1 The number is 2 The number is 477 sẽ được thực hiện và sẽ thực hiện tiết kiệm một khoản tiền là 50$.
Giống như lệnh
The number is 0 The number is 1 The number is 2 The number is 446, nếu
The number is 0 The number is 1 The number is 2 The number is 477 chỉ có một lệnh đơn, thì bạn có thể không cần thêm dấu ngoặc kép. [Tuy nhiên, như lời khuyên bên trên, bạn nên thêm vào dấu ngoặc kép. Thứ nhất, nó giúp code của bạn dễ đọc hơn. Thứ hai là bạn có thể dễ dàng bổ sung thêm nhiều logic trong tương lai]
Tuyên bố khác
Đôi khi bạn muốn khám phá các khả năng khác nhau xảy ra dựa trên chuỗi các điều kiện khác nhau. Bạn có thể thực hiện điều này bằng cách sử dụng câu lệnh
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "54. Nó cũng tương tự như lệnh khác, tuy nhiên bạn cần bổ sung thêm điều kiện cho nó. Dưới đây là cấu trúc
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "55
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "7
"; }
Trong ví dụ trên, lệnh
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "54 đã được thêm vào giữa lệnh
"; }
The number is 0 The number is 1 The number is 2 The number is 446 và
The number is 0 The number is 1 The number is 2 The number is 477. Nó kiểm tra xem tài khoản ngân hàng của bạn có lớn hơn 200$ hay không? .
Bạn có thể tưởng tượng về cấu trúc này là nó bao gồm nhiều con đường mọc khác nhau.
Lời khuyên. Câu lệnh
The number is 0 The number is 1 The number is 2 The number is 477 là câu lệnh đóng của cấu trúcHọc lập trình miễn phí tại freetuts.net Run20 hoặcvar text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "55. Bạn có thể đặt nó ở cuối cùng, tuy nhiên bạn không thể đặt nó trước
"; }var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "54. Tương tự, bạn không thể đặt lệnh
"; }var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "54 trước lệnh
"; }The number is 0 The number is 1 The number is 2 The number is 446
You can set bao nhiêu lệnh
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "54 tùy ý muốn. Tuy nhiên, nếu lượng lệnh
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "54 tăng lên đáng kể, bạn nên sử dụng một câu lệnh ứng dụng
"; }
The number is 0 The number is 1 The number is 2 The number is 447 mà tôi sẽ giới thiệu bên dưới đây
Tuyên bố chuyển đổi
Câu lệnh
The number is 0 The number is 1 The number is 2 The number is 447 sẽ rất hữu ích trong trường hợp một biến hay kết quả của biểu thức có nhiều giá trị khác nhau và với mỗi giá trị đó sẽ thực thi một hành động khác nhau.
Dưới đây, ta có một ví dụ về menu điều khiển bằng PHP, chức năng này thực hiện chuyển đổi một chuỗi đơn thành menu chính tùy chọn theo những gì người dùng đã yêu cầu. Ta có các menu tùy chọn là Trang chủ, Giới thiệu, Tin tức, Đăng nhập và Liên kết, và ta sẽ đặt một biến
Học lập trình miễn phí tại freetuts.net Run29 để lưu lựa chọn của người dùng.
Nếu viết theo cấu trúc
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "55, ví dụ của chúng ta sẽ giống như sau.
"; }
loop { // Statements ... continue; }3
Và khi chuyển sang sử dụng
The number is 0 The number is 1 The number is 2 The number is 447, ví dụ của chúng ta sẽ trở nên như sau
The number is 0 The number is 1 The number is 2 The number is 44
Như bạn đã thấy ở trên, biến
Học lập trình miễn phí tại freetuts.net Run29 chỉ cần viết một lần ở đầu câu lệnh switch. Sau đó, lệnh
loop { // Statements ... continue; }73 sẽ kiểm tra các kết quả có phù hợp không, khi một điều kiện thỏa mãn thì lệnh tương ứng sẽ được thực thi. Đây chỉ là một ví dụ đơn giản, trong ứng dụng thực tế ta sẽ có mã xử lý để người dùng thực hiện chuyển sang trang tương ứng, hoặc xử lý các logic phức tạp hơn
Lời khuyên. Với lệnh
The number is 0 The number is 1 The number is 2 The number is 447, thì ta sẽ không sử dụng dấu trích dẫn bên trong lệnhloop { // Statements ... continue; }73. Thay vào đó, xử lý mã của mỗiloop { // Statements ... continue; }73 sẽ bắt đầu bằng dấu 2 chấm và kết thúc bằng lệnhloop { // Statements ... continue; }77. Tuy nhiên, toàn bộ cácloop { // Statements ... continue; }73 củaThe number is 0 The number is 1 The number is 2 The number is 447 sẽ được bao quanh bởi dấu ngoặc nhọn
đột phá
Nếu bạn muốn thoát khỏi
The number is 0 The number is 1 The number is 2 The number is 447 bờ biển vì một điều kiện đã thỏa mãn, hãy sử dụng lệnh
loop { // Statements ... continue; }77. Câu lệnh này sẽ yêu cầu PHP thoát khỏi
The number is 0 The number is 1 The number is 2 The number is 447 và nhảy tới lệnh tiếp theo của chương trình.
Ở ví dụ trên, giả sử nếu bạn không sử dụng lệnh
The number is 0 The number is 1 The number is 2 The number is 447 và trường hợp của Trang chủ là TRUE, thì tất cả 5 trường hợp này đều được thực thi. Tương tự, giả sử nếu
Học lập trình miễn phí tại freetuts.net Run29 có giá trị là
1 3 5 7 995 thì tất cả các
loop { // Statements ... continue; }73 từ
1 3 5 7 995 trở đi đều được thực thi. Việc làm này là để xử lý mục đích chủ của PHP Ứng dụng phục vụ cho một số kỹ năng thiết lập trình nâng cao. Về cơ bản, bạn cần luôn nhớ rằng phải thực hiện lệnh
loop { // Statements ... continue; }77 mỗi khi điều kiện
loop { // Statements ... continue; }73 được thực hiện xong. Trên thực tế, việc quên lệnh
loop { // Statements ... continue; }77 là một lỗi khá phổ biến của các thành viên lập trình.
Hành động mặc định
Một yêu cầu cơ bản nữa trong switch đó là nhảy vào lệnh
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "101 actionn in case is no
"; }
loop { // Statements ... continue; }73 any điều kiện thỏa mãn. Trong ví dụ về mã menu bên trên, bạn có thể thêm xử lý
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "101 vào ngay trước dấu trích cuối cùng
"; }
The number is 0 The number is 1 The number is 2 The number is 47
Thực ra cái này nó cũng tương tự với
The number is 0 The number is 1 The number is 2 The number is 477 trong cấu trúc
The number is 0 The number is 1 The number is 2 The number is 479 bên trên.
Lưu ý rằng, lệnh
loop { // Statements ... continue; }77 của
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "101 là không bắt buộc, bời vì lệnh
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "101 đã là lệnh con cuối cùng rồi, và chương trình sẽ tự động chạy tới dấu ngắt đóng. Tuy nhiên, nếu bạn đặt lệnh
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "101 ở mức cao hơn, thì chắc chắn rằng bạn cần lệnh
"; }
loop { // Statements ... continue; }77 để ngăn chặn chương trình chạy tiếp theo
loop { // Statements ... continue; }73 tiếp theo. Tóm tắt, cách thực hiện toàn bộ nhất là luôn bao gồm các lệnh
loop { // Statements ... continue; }77.
cú pháp thay thế
If you want, you can instead. Tuy nhiên, đây là cách viết không phổ biến, tôi cập nhật ở đây chỉ muốn bạn biết về sự tồn tại của chúng
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "5
"; }
Các ?
Có một cách để không phải viết cấu trúc
The number is 0 The number is 1 The number is 2 The number is 479 dòng dài đó là sử dụng toán tử 3 ngôi
The number is 0 The number is 1 The number is 2 The number is 448, khi sử dụng toán tử này ta cần đến 3 toán hạng, thay vì chỉ viết 2 toán hạng như thông thường.
Ở các bài viết trước, ta đã tìm hiểu về sự khác biệt giữa lệnh
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "117 và
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "118, có những trường hợp nó hoạt động tốt với
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "117 nhưng lại không tốt với
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "118.
"; }
Toán tử
The number is 0 The number is 1 The number is 2 The number is 448 được sử dụng trong biểu thức đánh giá, với 2 trạng thái sẽ được thực thi. một là khi biểu thức có giá trị TRUE, cái còn lại là khi biểu thức có giá trị FALSE. Dưới đây ta sẽ áp dụng bộ toán điện tử này để viết một ví dụ về cảnh báo mức độ nhiên liệu của ô tô hiển thị trên bảng điện tử.
Học lập trình miễn phí tại freetuts.net Run2
Ở ví dụ trên, nếu lượng dữ liệu còn lại nhỏ hơn hoặc bằng 1 gallon thì thực hiện trả về chuỗi
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "122. Nếu không, thì sẽ trả về chuỗi
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "123. Mặc dù vậy, ta cũng có thể gán giá trị sẽ trả lại cho một biến như sau
"; }
loop { // Statements ... continue; }7
Ở đây, biến
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "124 sẽ được gán giá trị là TRUE nếu còn lại nhiều hơn 1 gallon nguyên liệu, ngược lại nó sẽ được gán giá trị là FALSE.
"; }
Nếu bạn thấy toán tử
The number is 0 The number is 1 The number is 2 The number is 448 này khó hiểu, bạn có thể sử dụng hàm
The number is 0 The number is 1 The number is 2 The number is 446 để thay thế. Tuy nhiên, tôi khuyến nghị bạn nên tập quen sử dụng nó, vì nó được sử dụng rất thường xuyên bởi các thành viên lập trình khác. Trong một số trường hợp, nó có thể hơi khó đọc bởi vì nó lặp lại một biến nhiều lần. Ví dụ như đoạn mã dưới đây được viết khá phổ biến.
______3127
Để dễ hiểu, tôi sẽ tách nó ra và giải thích từng chút một
1 3 5 7 99
Đây là cách rút gọn để theo dõi giá trị lớn nhất khi chạy chương trình. Bạn sẽ lưu giá trị lớn nhất vào biến
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "128 và so sánh nó với biến
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "129 mỗi khi nhận được giá trị mới. Khi lập trình viên quen với toán tử
"; }
The number is 0 The number is 1 The number is 2 The number is 448 thường thấy nó thuận tiện hơn so với cấu trúc
The number is 0 The number is 1 The number is 2 The number is 446 khi xử lý các biểu thức so sánh ngắn. Ngoài ra, toán tử này còn thường được sử dụng trong các quyết định nội tuyến, chẳng hạn như kiểm tra xem liệu một biến đã được khởi tạo hay chưa?
vòng lặp
Một trong những điều tuyệt vời mà máy tính hỗ trợ chúng ta đó là nó có thể lặp lại các công việc tính toán một cách nhanh chóng và không mệt mỏi. Ví dụ như bạn muốn chương trình lặp đi lặp lại một đoạn mã để tới khi một điều gì đó xảy ra. Đương nhiên, cấu trúc vòng lặp của PHP hỗ trợ chúng ta một cách hoàn hảo để thực hiện công việc này.
Tưởng tượng về Loop trong PHP, thì nó cũng giống như hình ảnh đường cao tốc để minh họa về cấu trúc
The number is 0 The number is 1 The number is 2 The number is 479, có một điểm khác là phản đối Loop, một khi xe đã đi vào đường .
vòng lặp while
Tiếp tục với ví dụ về bảng điều khiển kỹ thuật số kiểm tra mức nhiên liệu ở trên, ta sẽ xử lý nó bằng một vòng lặp liên tục để kiểm tra mức nhiên liệu khi lái xe. Cụ thể ta sẽ sử dụng vòng lặp
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "133
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "10
"; }
Có thể bạn không muốn trong văn bản ra mà muốn hiển thị đèn màu xanh đi chăng nữa, thì bịt lại bất kỳ xử lý tín hiệu nào cũng cần đặt trong vòng lặp
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "133. Ngoài ra, nếu bạn chạy thử ví dụ này trên máy tính của mình, thì cần lưu ý rằng chương trình này sẽ chạy liên tục khi bạn nhấn nút thủ công Dừng trên trình duyệt để tắt nó
"; }
Lời khuyên. Cũng tương tự như cấu trúc lệnh
The number is 0 The number is 1 The number is 2 The number is 446, vòng lặp while cũng yêu cầu các lý do phải được đặt trong dấu ngoặc kép, ngoại trừ khi vòng lặp while this your you only have a command đơn lệnh
Ta xem xét tiếp một ví dụ về phép nhân với 12, như dưới đây
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "11
"; }
Tại đây, biến
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "136 được khởi động với giá trị là 1, sau đó vòng lặp
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "133 sẽ bắt đầu với biểu thức so sánh
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "138. Vòng lặp này sẽ được thực hiện khi vòng lặp này quay lại khi giá trị của biến lớn hơn 12. Ta có đầu ra của đoạn mã này như sau
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "12
"; }
Ở vòng lặp trên, ta đã ra các chuỗi chứa giá trị của
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "136 và kết quả của phép nhân với 12. Theo sau đó là thẻ
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "140 để thực hiện xuống dòng sau mỗi chuỗi. Sau đó, biến số $count được tăng lên khi không có điều kiện vòng lặp đối xứng trong khi nữa thì sẽ thoát ra.
"; }
Lưu ý rằng, nếu không có lệnh
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "141 thì vòng lặp này sẽ chạy vô hạn, không bao giờ kết thúc và nó chỉ hiển thị kết quả của 1 * 12 mãi mãi.
"; }
Có một cách viết gọn gàng hơn nhiều để cấu trúc lại vòng lặp trong khi điều này như sau, tôi tin rằng bạn sẽ thích nó.
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "13
"; }
Ở trên, ta đã chuyển lệnh
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "141 từ bên trong vòng lặp while vào biểu thức điều kiện của vòng lặp. Do đó, mỗi khi PHP gặp biến
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "136 khi bắt đầu vòng lặp, PHP sẽ thấy nó có tính toán tử tăng ở phía trước, nên nó sẽ thực hiện tăng giá trị của biến trước, rồi sau đó mới thực hiện để so sánh nó với 12. Bạn có thể thấy rằng, biến
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "136 đã được khởi động với giá trị là 0 chứ không phải 1, bởi vì biến này sẽ tăng ngay khi vòng lặp bắt đầu. Nếu bạn khởi tạo nó là 1 thì bạn chỉ nhận được giá trị từ 2 đến 12
"; }
làm. vòng lặp while
Một biến thế nhỏ của vòng lặp
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "133 đó là
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "146, loại vòng lặp này được sử dụng khi bạn muốn mã khối sẽ được thực thi ít nhất một lần và đặt điều kiện vòng lặp ở phía sau. Dưới đây là ví dụ về phép nhân với 12 nhưng sử dụng vòng lặp
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "146
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "14
"; }
Ở trên, ta đã khởi động biến ______3136 với giá trị là 1 chứ không phải là 0, lý do là vì câu lệnh
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "118 của vòng lặp sẽ được thực hiện trước khi biến
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "136 được tăng lên.
"; }
Như đã nói nhiều lần ở phần trước, nếu bạn có nhiều hơn 1 câu lệnh trong vòng lặp thì hãy nhớ sử dụng dấu ngoặc kép nhé.
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "15
"; }
cho vòng lặp
Loại vòng cuối mà tôi muốn đề cập đến đó là vòng lặp
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "151, đây cũng là loại vòng lặp mạnh nhất, vì nó có khả năng thiết lập các biến khi vào vòng, kiểm tra các điều kiện trong khi lặp và chỉnh sửa
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "16
"; }
Nào, giờ ta hãy xem cách hoạt động của vòng lặp
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "151 nhé. Mỗi câu lệnh
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "151 có 3 tham số, đó là
"; }
- Một biểu thức khởi tạo
- Một biểu thức điều kiện
- Sửa đổi biểu thức
Nó được phân tách với nhau bởi dấu chấm hài
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "154 như thế này.
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "155. Khi bắt đầu vòng lặp đầu tiên, biểu thức khởi động được thực thi. At in ví dụ trên, biến
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "136 đã được khởi tạo với giá trị là 1. Mỗi lần lặp, biểu thức điều kiện [
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "138] sẽ được kiểm tra và vòng lặp chỉ được tiếp tục khi điều kiện lặp đúng. Cuối cùng, vào thời điểm cuối mỗi vòng lặp, biểu thức sửa đổi sẽ được thực thi. Trong ví dụ trên, giá trị của biến
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "136 được tăng lên sau mỗi vòng lặp.
"; }
Trong cấu trúc này, tất cả các biến sẽ bị loại bỏ sau khi vòng lặp kết thúc. Và hãy nhớ sử dụng dấu ngoặc kép nếu bạn có nhiều hơn một câu lệnh.
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "17
"; }
Chúng ta hãy so sánh xem khi nào nên dùng vòng lặp
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "151, khi nào nên dùng vòng lặp
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "133 nhé.
"; }
Trước hết, vòng lặp để được thiết kế lý do cho giá trị duy nhất mà thay đổi thường xuyên. Thông thường, bạn sẽ có một giá trị tăng dần, giống như khi bạn truyền danh sách lựa chọn của người dùng, và bạn muốn xử lý từng lần từng lựa chọn đó. Và bạn có thể biến đổi giá trị của biến theo bất kỳ cách nào bạn muốn. Có một dạng phức tạp hơn của vòng lặp
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "151, thậm chí còn cho phép bạn thực hiện nhiều thao tác cho mỗi tham số trong 3 tham số.
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "18
"; }
Tuy nhiên, hình thức này khá phức tạp nên nó không được khuyến khích sử dụng cho những người mới bắt đầu. Điều chú ý ở đây là bạn cần phân biệt vị trí đặt dấu phẩy và dấu chấm than. Cụ thể là, 3 tham số sẽ được phân tách bởi dấu chấm phẩy, và trong mỗi tham số, các câu lệnh sẽ được phân tách bởi dấu phẩy. Như ta thấy ở ví dụ trên, tham số đầu tiên và tham số thứ 3 sẽ bao gồm 2 câu lệnh
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "19
"; }
Vì vậy khi nào thì việc sử dụng vòng lặp
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "133 sẽ thích hợp hơn vòng lặp
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "151? . Ví dụ như khi bạn muốn kiểm tra một giá trị đầu vào hoặc một lỗi cụ thể nào đó và thực hiện kết thúc vòng lặp khi nó xảy ra, thì hãy sử dụng vòng lặp while
"; }
Thoát khỏi vòng lặp
Như bạn đã thấy cách thoát khỏi câu lệnh
The number is 0 The number is 1 The number is 2 The number is 447 ở phần trên, ta có thể thoát khỏi vòng lặp
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "151 bằng lệnh
"; }
loop { // Statements ... continue; }77. Điều này cần thiết trong trường hợp, khi một trong các câu lệnh của bạn trả về lỗi và vòng lặp không thể tiếp tục thực hiện một cách an toàn.
Một trường hợp có khả năng xảy ra lỗi đó là khi ta ghi vào tệp và nó trả về lỗi, nguyên nhân có thể làm đầy ổ đĩa.
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "70
"; }
Ở ví dụ trên, cái nhìn có vẻ khá phức tạp, tuy nhiên không tin bạn hoàn toàn có thể hiểu được nó. Chúng ta sẽ tìm hiểu chi tiết hơn về cách xử lý tệp trong các bài viết sau, tuy nhiên, hiện tại chúng ta sẽ giải thích sơ qua ý nghĩa của nó. Ở dòng đầu tiên, ta thực hiện mở tệp
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "167 để thực hiện ghi ở chế độ nhị phân [chế độ nhị phân], sau đó trả về con trỏ tới tệp trong biến
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "168, sử dụng biến này để tham chiếu tới tệp đang mở.
"; }
Vòng lặp này thực hiện lặp 100 lần [từ 0 đến 99] để thực hiện ghi dữ liệu chuỗi vào tệp. Sau mỗi lần ghi, biến
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "169 sẽ được gán giá trị bởi hàm
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "170 có thể hiển thị số ký tự được ghi. Nhưng nếu có lỗi, thì hàm
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "170 sẽ gán giá trị cho nó là FALSE.
"; }
Hàm
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "170 sẽ kiểm tra xem biến
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "169 liệu nó có bị đặt thành FALSE hay không, nếu có nó sẽ thoát khỏi vòng lặp, sau đó thực hiện đóng tệp.
"; }
Nếu bạn muốn cấu trúc lại mã, ta có thể viết lại dòng mã dưới đây một cách ngắn gọn hơn.
____3174
that is used TOÁN TỬ NOT, as after.
______3175
Thậm chí, ta có thể rút ngắn thành chỉ 1 câu lệnh như sau.
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "176
"; }
Nói cách khác, là ta có thể bỏ biến
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "169, bởi vì nó tồn tại chỉ với mục đích là kiểm tra giá trị trả lại. từ hàm
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "170. Thay vào đó, ta có thể kiểm tra giá trị trả về một cách trực tiếp như bên trên.
"; }
Thực tế, lệnh
loop { // Statements ... continue; }77 có thể nó còn mạnh mẽ hơn bạn nghĩ đấy, đó là nếu bạn có đoạn mã với mức độ lồng nhau [lồng nhau] nhiều hơn 1 lớp và bạn muốn thoát ra .
____3180
Tuyên bố tiếp tục
Lệnh
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "181 khá giống lệnh
"; }
loop { // Statements ... continue; }77, ngoại trừ việc nó yêu cầu PHP chỉ dừng vòng lặp hiện tại, và thực hiện chạy luôn sang vòng lặp tiếp theo. Do đó, thay vì thoát khỏi vòng lặp hoàn toàn, PHP chỉ thoát khỏi vòng lặp hiện tại.
Cách tiếp cận này sẽ rất hữu ích trong trường hợp bạn biết rằng, đến lần lặp này sẽ không cần thực hiện tiếp và muốn lưu lại chu trình xử lý hoặc ngăn sự cố xảy ra và thực hiện . At ví dụ dưới đây, dùng lệnh
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "181 để ngăn chặn trường hợp chia cho 0.
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "71
"; }
Đối với tất cả các giá trị của biến
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "184 từ 10 -> -10, ngoại trừ 0, thì kết quả của phép tính 10 chia cho
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "184 được hiển thị. Đối với trường hợp $j = 0, lệnh
"; }
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "181 được thực thi và ngay lập tức bỏ qua lần lặp hiện tại để nhảy sang lần lặp tiếp theo
"; }
Đúc tiềm ẩn và rõ ràng
PHP là một ngôn ngữ đánh máy chậm, nó cho phép bạn khai báo một biến và kiểu của nó bằng cách sử dụng nó. Nó sẽ tự động chuyển đổi giá trị từ kiểu này sang kiểu khác khi cần thiết. Ta gọi đây là ép kiểu ngầm định [ép kiểu tù]
Tuy nhiên, ép kiểu ngầm định của PHP có thể hoạt động không được như ta mong muốn. At ví dụ dưới đây, giá trị đầu vào cho phép chia là số nguyên [số nguyên]. Theo mặc định, PHP sẽ chuyển đổi đầu ra thành float, sao cho nó có thể hiển thị giá trị chính xác nhất.
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "72
"; }
Tuy nhiên, nếu ta muốn biến $c phải là một số nguyên thì phải làm sao? .
______3189
Ta gọi đây là casting rõ ràng. Chú ý rằng, để chắc chắn rằng, giá trị của toàn bộ biểu thức được ép kiểu thành số nguyên, ta cần đặt biểu thức trong dấu trích đơn. Nếu không, thì chỉ có biến $a được ép kiểu thành số nguyên.
Lời khuyên. Để tránh phải sử dụng ép kiểu, ta có thể gọi hàm tích hợp sẵn của PHP. Ví dụ, để lấy giá trị số nguyên, ta có thể sử dụng hàm
var text = ""; var i; for [i = 1; i < 8; i++] { if [i === 2 || i === 3] continue; document.getElementById["demo"].innerHTML += i + "190
"; }