Phần thân của bất kỳ vòng lặp nào, thậm chí có thể bao gồm…một vòng lặp khác. Đây là một chương trình siêu đơn giản tạo ra tất cả các bảng nhân từ 0 đến 10. Hàm
for [initialExpression; condition; incrementExpression] {
statement
}
6 đổi giá trị số thành chuỗiĐây là hai cách khác nhau để xem xét chương trình này. Trong phần đầu tiên, chúng tôi xem xét cấu trúc của chương trình – những gì bạn có thể hiểu chỉ bằng cách nhìn vào chương trình
Trong video này, chúng ta xem xét quá trình thực thi chương trình - cách chương trình thực sự hoạt động khi được máy tính chạy
Cách tiếp cận này rất tốt nếu bạn chỉ cần
for [let i = 0; i < 10; i++] {
bounceBall[]
}
5 trong một vài lần. Điều gì xảy ra nếu bạn cần phải for [let i = 0; i < 10; i++] {
bounceBall[]
}
5 hàng trăm lần?Cách tốt hơn là thông qua vòng lặp
for [let i = 0; i < 10; i++] {
bounceBall[]
}
8Vòng lặp 'cho'
Vòng lặp
for [let i = 0; i < 10; i++] {
bounceBall[]
}
8 chạy một khối mã bao nhiêu lần tùy thích. Đây là vòng lặp for chạy 10 lần for [let i = 0; i < 10; i++] {
bounceBall[]
}
5for [let i = 0; i < 10; i++] {
bounceBall[]
}
Nó được chia thành bốn phần –
for [initialExpression; condition; incrementExpression] {
statement
}
1, for [initialExpression; condition; incrementExpression] {
statement
}
2, for [initialExpression; condition; incrementExpression] {
statement
}
3 và for [initialExpression; condition; incrementExpression] {
statement
}
4for [initialExpression; condition; incrementExpression] {
statement
}
Trước khi lặp, bạn cần có một câu lệnh. Câu lệnh này là khối mã bạn muốn chạy nhiều lần. Bạn có thể viết bất kỳ số dòng mã nào ở đây. Bạn thậm chí có thể sử dụng các chức năng
Đây là vòng lặp
for [let i = 0; i < 10; i++] {
bounceBall[]
}
8 trông như thế nào với for [let i = 0; i < 10; i++] {
bounceBall[]
}
5 là câu lệnh của nófor [let i = 0; i < 10; i++] {
bounceBall[]
}
3Tiếp theo, bạn cần một biểu thức ban đầu để bắt đầu một vòng lặp. Đây là nơi bạn khai báo một biến. Đối với hầu hết các vòng lặp, biến này được gọi là
for [initialExpression; condition; incrementExpression] {
statement
}
7. Nó cũng được đặt thành 0Đây là cách nó sẽ trông như thế nào khi bạn đặt
for [initialExpression; condition; incrementExpression] {
statement
}
1 vào vòng lặp for [let i = 0; i < 10; i++] {
bounceBall[]
}
8for [let i = 0; i < 10; i++] {
bounceBall[]
}
7Sau khi câu lệnh chạy, biến
for [initialExpression; condition; incrementExpression] {
statement
}
7 được tăng hoặc giảm. Bạn tăng hoặc giảm giá trị của for [initialExpression; condition; incrementExpression] {
statement
}
7 trong biểu thức gia sốĐể tăng giá trị của
for [initialExpression; condition; incrementExpression] {
statement
}
7 lên một, bạn gán lại for [initialExpression; condition; incrementExpression] {
statement
}
7 sao cho nó trở thành for [let i = 0; i < 10; i++] {
bounceBall[]
}
34 với for [let i = 0; i < 10; i++] {
bounceBall[]
}
35. Cách viết tắt của việc gán lại này là for [let i = 0; i < 10; i++] {
bounceBall[]
}
36, đây là thứ bạn sẽ tìm thấy trong hầu hết các vòng lặp for [let i = 0; i < 10; i++] {
bounceBall[]
}
8Để giảm giá trị của
for [initialExpression; condition; incrementExpression] {
statement
}
7 đi một, bạn gán lại for [initialExpression; condition; incrementExpression] {
statement
}
7 sao cho nó trở thành for [let i = 0; i < 10; i++] {
bounceBall[]
}
70 với for [let i = 0; i < 10; i++] {
bounceBall[]
}
71. Cách viết tắt của sự gán lại này là for [let i = 0; i < 10; i++] {
bounceBall[]
}
72, đây là một biến thể khác của những gì bạn sẽ tìm thấy trong hầu hết các vòng lặp for [let i = 0; i < 10; i++] {
bounceBall[]
}
8Trong ví dụ về
for [let i = 0; i < 10; i++] {
bounceBall[]
}
5 ở trên, chúng tôi đã tăng biến for [initialExpression; condition; incrementExpression] {
statement
}
7 lên một lần mỗi khi mã chạyfor [let i = 0; i < 10; i++] {
bounceBall[]
}
4Nhưng bạn nên tăng hay giảm
for [initialExpression; condition; incrementExpression] {
statement
}
7?Câu trả lời nằm trong điều kiện. Tuyên bố điều kiện này đánh giá hoặc là
for [let i = 0; i < 10; i++] {
bounceBall[]
}
77 hoặc là for [let i = 0; i < 10; i++] {
bounceBall[]
}
78. Nếu câu lệnh đánh giá là for [let i = 0; i < 10; i++] {
bounceBall[]
}
77, thì câu lệnh sẽ chạyKhi câu lệnh đã chạy, JavaScript sẽ chạy biểu thức gia số và kiểm tra xem điều kiện có đánh giá lại thành
for [let i = 0; i < 10; i++] {
bounceBall[]
}
77 không. Nó lặp lại quá trình này cho đến khi điều kiện đánh giá là for [let i = 0; i < 10; i++] {
bounceBall[]
}
78Khi điều kiện ước tính là
for [let i = 0; i < 10; i++] {
bounceBall[]
}
78, JavaScript sẽ bỏ qua vòng lặp và tiếp tục với phần còn lại của mã của bạnVì vậy, nếu bạn không muốn vòng lặp chạy, bạn có thể đặt điều kiện đánh giá sai ngay lập tức
for [let i = 0; i < 10; i++] {
bounceBall[]
}
2Nếu bạn muốn vòng lặp chạy hai lần, bạn thay đổi điều kiện để nó đánh giá sai khi biểu thức gia số đã chạy hai lần
for [let i = 0; i < 10; i++] {
bounceBall[]
}
3Nếu bạn muốn vòng lặp chạy mười lần, bạn thay đổi điều kiện sao cho nó đánh giá sai khi biểu thức gia số đã chạy mười lần
for [let i = 0; i < 10; i++] {
bounceBall[]
}
4vòng lặp vô hạn
Vòng lặp vô hạn xảy ra khi điều kiện cho vòng lặp
for [let i = 0; i < 10; i++] {
bounceBall[]
}
8 của bạn luôn trả về for [let i = 0; i < 10; i++] {
bounceBall[]
}
77. Trình duyệt của bạn sẽ bị treo nếu bạn chạy một vòng lặp vô hạnĐể khôi phục từ vòng lặp vô hạn, bạn cần thoát khỏi trình duyệt của mình một cách mạnh mẽ. Trên máy Mac, điều này có nghĩa là bạn nhấp chuột phải vào biểu tượng trình duyệt của mình và chọn “buộc thoát”. Trên máy Window, bạn mở Windows Task manager bằng
for [let i = 0; i < 10; i++] {
bounceBall[]
}
45 + for [let i = 0; i < 10; i++] {
bounceBall[]
}
46 + for [let i = 0; i < 10; i++] {
bounceBall[]
}
47, chọn trình duyệt của bạn và nhấp vào “End task”Vòng qua các mảng
Trong thực tế, bạn hầu như không bao giờ viết một vòng lặp chạy mười lần như trong ví dụ
for [let i = 0; i < 10; i++] {
bounceBall[]
}
5 ở trên. Bạn sẽ luôn lặp qua một mảng hoặc một đối tượngKhi bạn lặp [hoặc lặp lại] qua một mảng, bạn sẽ duyệt qua từng mục trong mảng một lần. Để làm như vậy, bạn có thể sử dụng độ dài hoặc mảng làm điều kiện
for [let i = 0; i < 10; i++] {
bounceBall[]
}
1Cách khác để viết vòng lặp
for [let i = 0; i < 10; i++] {
bounceBall[]
}
8 này là sử dụng biểu thức tăng âm. Phiên bản này chạy nhanh hơn một chút so với vòng lặp for [let i = 0; i < 10; i++] {
bounceBall[]
}
8 ở trên, nhưng thay vào đó sẽ lặp mảng từ cuốifor [let i = 0; i < 10; i++] {
bounceBall[]
}
0Lặp qua các mảng với “for of”
Tuy nhiên, một cách khác [tốt hơn nhiều] để lặp qua một mảng là sử dụng vòng lặp
for [let i = 0; i < 10; i++] {
bounceBall[]
}
21. Đây là một cú pháp vòng lặp mới đi kèm với ES6. Nó trông như thế nàyfor [let i = 0; i < 10; i++] {
bounceBall[]
}
1Vòng lặp
for [let i = 0; i < 10; i++] {
bounceBall[]
}
21 thích hợp hơn vòng lặp tiêu chuẩn for [let i = 0; i < 10; i++] {
bounceBall[]
}
8 vì nó luôn lặp qua mảng một lần. Không cần viết for [let i = 0; i < 10; i++] {
bounceBall[]
}
24, điều này giúp mã của bạn dễ đọc và dễ bảo trì hơn nhiềuBạn có thể sử dụng
for [let i = 0; i < 10; i++] {
bounceBall[]
}
21 với bất kỳ đối tượng có thể lặp lại nào. Đây là những đối tượng chứa thuộc tính for [let i = 0; i < 10; i++] {
bounceBall[]
}
26. Mảng là một trong những đối tượng như vậy. Nếu bạn for [let i = 0; i < 10; i++] {
bounceBall[]
}
27 một mảng trống, bạn sẽ thấy rằng nó có for [let i = 0; i < 10; i++] {
bounceBall[]
}
26 là một trong các khóa của nó [nằm trong khóa for [let i = 0; i < 10; i++] {
bounceBall[]
}
29 của Mảng]Logic trong các vòng lặp
Bạn có thể sử dụng
for [let i = 0; i < 10; i++] {
bounceBall[]
}
30 hoặc bất kỳ logic nào khác trong vòng lặp forVí dụ: giả sử bạn có một danh sách các số và bạn muốn tạo danh sách thứ hai gồm các số nhỏ hơn 20
Để hoàn thành mục tiêu này, trước tiên bạn lặp qua các số
for [let i = 0; i < 10; i++] {
bounceBall[]
}
2Ở đây, bạn muốn kiểm tra xem mỗi
for [let i = 0; i < 10; i++] {
bounceBall[]
}
31 có nhỏ hơn 20 khôngfor [let i = 0; i < 10; i++] {
bounceBall[]
}
3Nếu
for [let i = 0; i < 10; i++] {
bounceBall[]
}
31 nhỏ hơn 20, bạn muốn thêm nó vào một mảng khác. Để làm như vậy, bạn sử dụng phương pháp for [let i = 0; i < 10; i++] {
bounceBall[]
}
33for [let i = 0; i < 10; i++] {
bounceBall[]
}
4kết thúc
Vòng lặp
for [let i = 0; i < 10; i++] {
bounceBall[]
}
8 được sử dụng khi bạn muốn thực hiện cùng một tác vụ [hoặc một nhóm tác vụ] nhiều lầnBạn sẽ hiếm khi lặp lại mã chính xác mười lần. Thông thường, thay vào đó, bạn sẽ muốn lặp qua một mảng
Để lặp qua một mảng chính xác một lần, bạn có thể sử dụng vòng lặp
for [let i = 0; i < 10; i++] {
bounceBall[]
}
21, vòng lặp này dễ viết và dễ hiểu hơn nhiều so với vòng lặp for [let i = 0; i < 10; i++] {
bounceBall[]
}
8 truyền thốngHãy nhớ rằng, bạn có thể viết bất kỳ số lượng logic nào bạn muốn trong các vòng lặp. Bạn có thể sử dụng hàm, câu lệnh
for [let i = 0; i < 10; i++] {
bounceBall[]
}
30 hoặc thậm chí sử dụng vòng lặp trong vòng lặpNếu yêu thích bài viết này, bạn sẽ thích học Tìm hiểu JavaScript—một khóa học giúp bạn học cách xây dựng các thành phần thực từ đầu bằng Javascript. Nhấp vào đây để tìm hiểu thêm về Tìm hiểu JavaScript nếu bạn quan tâm
Nếu bạn thích bài viết này, hãy ủng hộ tôi bằng cách chia sẻ bài viết này trên Twitter hoặc mua cho tôi một ly cà phê 😉. Nếu bạn phát hiện lỗi đánh máy, tôi đánh giá cao nếu bạn có thể sửa nó trên GitHub. Cảm ơn bạn