Cấu trúc vòng lặp chính xác trong javascript là gì?

Trong tiếng Anh, từ

I is less than 10
I is less than 10
.. 10 times
5 gợi ý một hình dạng được tạo ra bởi một đường cong uốn tròn và cắt ngang chính nó. Từ khái niệm tương tự, từ
I is less than 10
I is less than 10
.. 10 times
5 đã được đưa vào thế giới lập trình. Nếu bạn nhìn vào sơ đồ bên dưới, bạn sẽ thấy rõ luồng hướng dẫn được lặp đi lặp lại tương ứng như thế nào trong một chuyển động tròn lặp đi lặp lại chính nó

Khái niệm vòng lặp không phải là mới trong lập trình, chúng thỉnh thoảng được sử dụng trong khi viết mã. Mặc dù cú pháp thay đổi ngôn ngữ này sang ngôn ngữ khác nhưng khái niệm cơ bản vẫn giống nhau; . JavaScript đã tăng các loại vòng lặp (bằng cách bao gồm nhiều loại vòng lặp khác nhau) và giúp làm việc với chúng thoải mái và hiệu quả hơn. Trong bài viết này chúng ta sẽ tìm hiểu về tất cả các vòng lặp có sẵn trong JavaScript

Định nghĩa vòng lặp

Trong lập trình máy tính,

I is less than 10
I is less than 10
.. 10 times
5 là một quá trình lặp lại một khối mã cụ thể cho một điều kiện hợp lệ

Danh sách Loos trong JavaScript

Có 7 loại vòng lặp bạn sẽ tìm thấy trong JavaScript. Chúng tôi đã liệt kê chúng theo thứ tự giúp bạn có cái nhìn rõ ràng về quy trình làm việc và cách sử dụng của chúng. Bài viết này cũng sẽ giúp bạn phân biệt giữa tất cả 7 vòng lặp này như bạn nên sử dụng chúng ở đâu, khi nào và như thế nào. Vì vậy, hãy bắt đầu

trong khi lặp lại

Vòng lặp

I is less than 10
I is less than 10
.. 10 times
8 là một trong những loại vòng lặp cơ bản nhất có sẵn trong JS. Nếu JavaScript không phải là ngôn ngữ lập trình duy nhất mà bạn biết, thì bạn hẳn đã nghe nói về ngôn ngữ này rồi.

Câu lệnh while tạo ra một vòng lặp được thực thi trên một khối câu lệnh (mã) cụ thể miễn là điều kiện là đúng. Mỗi lần trước khi thực thi khối mã, điều kiện được kiểm tra

cú pháp

while (condition) {
  Block of code
}

Ví dụ

var i=8;
while (i<10){
 console.log("I is less than 10");
 i++;
}

đầu ra

I is less than 10
I is less than 10
.. 10 times

Trong ví dụ trên, điều kiện sẽ được kiểm tra xem giá trị của

I is less than 10
I is less than 10
.. 10 times
9 có nhỏ hơn 10 hay không. Nếu điều kiện là đúng, khối mã sẽ được thực thi và trước khi lặp lại vào lần tiếp theo, giá trị của
I is less than 10
I is less than 10
.. 10 times
9 sẽ tăng thêm 1 khi chúng tôi đã thêm một câu lệnh
do {
    Block of code
 }
while (condition);
1

làm trong khi

Vòng lặp

do {
    Block of code
 }
while (condition);
2 hơi khác so với
I is less than 10
I is less than 10
.. 10 times
8 vì nó bao gồm một tính năng bổ sung. Trong trường hợp vòng lặp
do {
    Block of code
 }
while (condition);
2, khối mã được thực thi ít nhất một lần và nếu thỏa mãn điều kiện tiếp theo, khối mã sẽ được thực thi tương ứng

cú pháp

do {
    Block of code
 }
while (condition);

Ví dụ

I is less than 10
I is less than 10
.. 10 times
4

đầu ra

I is less than 10
I is less than 10
.. 10 times
5

Như bạn có thể thấy điều kiện là- *giá trị của

I is less than 10
I is less than 10
.. 10 times
9 lớn hơn 7 nhưng nhỏ hơn 10; . Bởi vì kỹ thuật lặp này trước tiên
do {
    Block of code
 }
while (condition);
7 thực thi mã bất kể điều kiện và sau đó so sánh điều kiện từ vòng thực thi thứ 2. Đối với tất cả các điều kiện đúng từ vòng lặp thứ 2, khối mã sẽ được thực thi

cho vòng lặp

Vòng lặp

I is less than 10
I is less than 10
.. 10 times
8 và vòng lặp
do {
    Block of code
 }
while (condition);
9 hoạt động hoàn toàn giống nhau, kể cả thời gian thực hiện cũng không chênh lệch nhiều. Vậy nhu cầu của một hệ thống lặp khác cung cấp chức năng tương tự là gì?
à, trong trường hợp vòng lặp
do {
    Block of code
 }
while (condition);
9, việc khai báo & khởi tạo biến lặp, kiểm tra điều kiện & tăng hoặc giảm biến lặp có thể là . Nó làm tăng khả năng đọc và giảm khả năng xảy ra lỗi.

cú pháp

I is less than 10
I is less than 10
.. 10 times
2

Ví dụ

I is less than 10
I is less than 10
.. 10 times
3

đầu ra

I is less than 10
I is less than 10
.. 10 times
4

Hãy xem ví dụ trên, khởi tạo, điều kiện & gia tăng đã được khai báo trong một dòng duy nhất. Nó dễ hiểu hơn và dễ đọc hơn. Phải không?

Việc sử dụng vòng lặp

do {
    Block of code
 }
while (condition);
9 hoàn toàn giống với vòng lặp
I is less than 10
I is less than 10
.. 10 times
8 như tôi đã nói. Nhưng để làm cho mã dễ đọc và dễ hiểu hơn, hầu hết thời gian chúng tôi sử dụng vòng lặp
do {
    Block of code
 }
while (condition);
9 thay vì
I is less than 10
I is less than 10
.. 10 times
8

cho mỗi()

Nó là một phương pháp nguyên mẫu của

I is less than 10
I is less than 10
.. 10 times
45 (Bản đồ chẵn và Tập hợp). Phương thức
I is less than 10
I is less than 10
.. 10 times
46 gọi một hàm/gọi lại đã cho mỗi lần với mỗi phần tử trong một mảng, theo thứ tự chỉ mục. Lưu ý,
I is less than 10
I is less than 10
.. 10 times
46 không chạy hàm đã cho đối với các phần tử mảng không có giá trị

cú pháp

I is less than 10
I is less than 10
.. 10 times
2

Phương thức

I is less than 10
I is less than 10
.. 10 times
46 lấy một hàm làm đối số. Hàm bao gồm ba tham số nêu trên

currentValue giữ giá trị hiện tại đang được xử lý.
biến chỉ mục giữ chỉ mục của giá trị trong mảng cụ thể đó.
và biến mảng chứa tổng mảng được truyền.

  • Bạn có thể lặp lại một tập hợp bằng cách sử dụng
    I is less than 10
    I is less than 10
    .. 10 times
    
    46
  • bản đồ cũng có thể được lặp lại bằng phương pháp
    I is less than 10
    I is less than 10
    .. 10 times
    
    46

Hãy hiểu từ một ví dụ đơn giản

Ví dụ

var i=8;
while (i<10){
 console.log("I is less than 10");
 i++;
}
0

đầu ra

var i=8;
while (i<10){
 console.log("I is less than 10");
 i++;
}
1

Phương thức

I is less than 10
I is less than 10
.. 10 times
46 đang lặp qua mảng
I is less than 10
I is less than 10
.. 10 times
52. Nếu bạn không sử dụng chỉ mục, bạn chỉ có thể sử dụng
I is less than 10
I is less than 10
.. 10 times
53. Các thông số có thể được sử dụng cho phù hợp, bạn không cần phải đề cập đến cả ba thông số mỗi lần

Việc sử dụng phương thức

I is less than 10
I is less than 10
.. 10 times
46 đã làm cho việc lặp qua một mảng trở nên rất đơn giản. Chúng ta không phải lo lắng về biến lặp, điều kiện hay bất cứ thứ gì khác, nó sẽ lo tất cả các vấn đề về lặp

forEach khác với for như thế nào

Bạn có thể chỉ cần lặp qua một mảng bằng cách sử dụng vòng lặp for đơn giản bắt đầu từ 0 và chạy cho đến hết chiều dài của mảng đó. Vậy thì tại sao họ lại nghĩ ra một

I is less than 10
I is less than 10
.. 10 times
55 khác?
Quy tắc chung là, nếu bạn có tùy chọn sử dụng phương pháp nguyên mẫu; . Bởi vì, phương thức nguyên mẫu biết đối tượng đó tốt hơn và được tối ưu hóa để sử dụng tốt nhất. Dưới đây là một ví dụ để mô tả sự khác biệt.

var i=8;
while (i<10){
 console.log("I is less than 10");
 i++;
}
2

Nếu bạn chạy đoạn mã trên, bạn sẽ thấy rằng

I is less than 10
I is less than 10
.. 10 times
56 được in 3001 lần, trong khi
I is less than 10
I is less than 10
.. 10 times
57 chỉ được in hai lần. Lý do là, vòng lặp for là một vòng lặp for đơn giản; . Vì vậy, nó chỉ đơn giản là chạy từ số 0 đến độ dài của
I is less than 10
I is less than 10
.. 10 times
52. Tuy nhiên, khi bạn sử dụng
I is less than 10
I is less than 10
.. 10 times
55, nó biết rằng mảng chỉ có hai phần tử, mặc dù độ dài là 3001. Vì vậy, nó thực sự chỉ lặp lại hai lần

Vì vậy, tùy thuộc vào điều này, nếu bạn muốn bỏ qua các công việc nặng nhọc trong vòng lặp màu trắng lặp lại một lần lặp, bạn nên sử dụng forEach. Tuy nhiên, thời gian lặp của chỉ lặp (cùng số lần lặp) sẽ ít hơn so với vòng lặp for. Vì vậy, hiệu suất lặp lại tốt hơn trong trường hợp for

bản đồ()

I is less than 10
I is less than 10
.. 10 times
20 là một phương thức nguyên mẫu khác của Array. Phương thức
I is less than 10
I is less than 10
.. 10 times
21 tạo một mảng mới có các giá trị trả về được tạo bởi một hàm thực thi trên một mảng đã cho

cú pháp

var i=8;
while (i<10){
 console.log("I is less than 10");
 i++;
}
3

Phương thức

I is less than 10
I is less than 10
.. 10 times
21 lấy một hàm làm đối số, hàm có ba tham số

currentValue là phần tử hiện tại đang được xử lý trong mảng.
Chỉ số là chỉ số của phần tử hiện tại đang được xử lý trong mảng.
Và mảng là mảng mà

I is less than 10
I is less than 10
.. 10 times
20 được gọi.

Ví dụ

var i=8;
while (i<10){
 console.log("I is less than 10");
 i++;
}
4

Trong ví dụ trên, mảng mới có tên

I is less than 10
I is less than 10
.. 10 times
24 sẽ được lấp đầy với các kết quả đầu ra là
I is less than 10
I is less than 10
.. 10 times
25 và mảng
I is less than 10
I is less than 10
.. 10 times
26 vẫn là
I is less than 10
I is less than 10
.. 10 times
27

tại

Cái này được phát triển chủ yếu để lặp lại các thuộc tính của một đối tượng. Câu lệnh

I is less than 10
I is less than 10
.. 10 times
28 lặp qua vô số thuộc tính của một đối tượng. Đối với mỗi thuộc tính riêng biệt, các câu lệnh có thể được thực thi.
Như chúng ta đã biết mảng cũng là một loại đối tượng đặc biệt, vì vậy đừng nghĩ rằng mảng không thể lặp bằng vòng lặp
I is less than 10
I is less than 10
.. 10 times
28 này.

cú pháp

var i=8;
while (i<10){
 console.log("I is less than 10");
 i++;
}
5

Ví dụ

var i=8;
while (i<10){
 console.log("I is less than 10");
 i++;
}
6

đầu ra

var i=8;
while (i<10){
 console.log("I is less than 10");
 i++;
}
7

Tại sao phép lặp mảng sử dụng vòng lặp I is less than 10 I is less than 10 .. 10 times 28 không thích hợp hơn?

I is less than 10
I is less than 10
.. 10 times
28 không nên được sử dụng cho phép lặp Mảng đặc biệt khi thứ tự của chỉ mục là quan trọng.
Thực tế không có sự khác biệt giữa chỉ mục mảng và thuộc tính đối tượng chung, chỉ mục mảng chỉ là thuộc tính có thể đếm được.

I is less than 10
I is less than 10
.. 10 times
28 sẽ không trả lại các chỉ mục theo bất kỳ thứ tự cụ thể nào mỗi lần. Vòng lặp
I is less than 10
I is less than 10
.. 10 times
28 Vòng lặp này sẽ trả về tất cả các thuộc tính có thể đếm được, bao gồm cả những thuộc tính có tên không phải là số nguyên và những thuộc tính được kế thừa

Vì vậy, nên sử dụng

do {
    Block of code
 }
while (condition);
9 hoặc
I is less than 10
I is less than 10
.. 10 times
46 trong khi lặp qua một mảng. Bởi vì thứ tự lặp lại phụ thuộc vào việc triển khai và việc lặp qua một mảng có thể không truy cập các phần tử theo thứ tự nhất quán trong trường hợp
I is less than 10
I is less than 10
.. 10 times
28

var i=8;
while (i<10){
 console.log("I is less than 10");
 i++;
}
8

Sử dụng

I is less than 10
I is less than 10
.. 10 times
46 trong trường hợp này sẽ cho kết quả đầu ra
I is less than 10
I is less than 10
.. 10 times
38 trong đó
I is less than 10
I is less than 10
.. 10 times
28 nó không đảm bảo bất cứ điều gì

Một điều nữa bạn nên ghi nhớ khi sử dụng

I is less than 10
I is less than 10
.. 10 times
28 là nó lặp lại trên tất cả các thuộc tính của đối tượng; . Nếu bạn chỉ muốn lặp lại các thuộc tính riêng của đối tượng, bạn nên làm như sau

var i=8;
while (i<10){
 console.log("I is less than 10");
 i++;
}
9

cho…của

Đây là loại lặp gần đây nhất có trong JS, được giới thiệu trong ES6. Sử dụng câu lệnh

I is less than 10
I is less than 10
.. 10 times
41, bạn có thể lặp qua bất kỳ đối tượng có thể lặp nào như Array, String, Map, WeakMap, Set, WeakSet, đối tượng đối số, TypedArray và thậm chí cả các đối tượng chung (pojo)

cú pháp

I is less than 10
I is less than 10
.. 10 times
0

Ví dụ

I is less than 10
I is less than 10
.. 10 times
1

đầu ra

I is less than 10
I is less than 10
.. 10 times
2

Lặp lại trên bản đồ

I is less than 10
I is less than 10
.. 10 times
3

I is less than 10 I is less than 10 .. 10 times 41 khác với I is less than 10 I is less than 10 .. 10 times 28 như thế nào?

Vòng lặp

I is less than 10
I is less than 10
.. 10 times
44 chủ yếu lặp qua vô số thuộc tính của một đối tượng theo thứ tự chèn thực tế.
Câu lệnh
I is less than 10
I is less than 10
.. 10 times
41 lặp lại các giá trị đã cho (không phải tên thuộc tính) của bất kỳ đối tượng lặp nào.

I is less than 10
I is less than 10
.. 10 times
4

Như bạn có thể thấy,

I is less than 10
I is less than 10
.. 10 times
41 là tất cả về các giá trị riêng của đối tượng và
I is less than 10
I is less than 10
.. 10 times
28 thậm chí xem xét các tên thuộc tính nguyên mẫu và kế thừa. Nếu bạn muốn lặp lại trên một đối tượng (và không phải là một đối tượng có thể lặp lại),
I is less than 10
I is less than 10
.. 10 times
41 sẽ xem xét tất cả các thuộc tính của chính nó; . Đó là lý do tại sao trong ví dụ trên,
I is less than 10
I is less than 10
.. 10 times
41 không xem xét tài sản của
I is less than 10
I is less than 10
.. 10 times
20

Câu lệnh lặp trong JavaScript là gì?

Các vòng lặp được sử dụng trong JavaScript để thực hiện các tác vụ lặp lại dựa trên một điều kiện . Các điều kiện thường trả về true hoặc false. Một vòng lặp sẽ tiếp tục chạy cho đến khi điều kiện xác định trả về false.

3 phần của vòng lặp for trong JavaScript là gì?

Vòng lặp JavaScript for được sử dụng để thực thi mã nhiều lần. vòng lặp for bao gồm ba phần. khởi tạo, điều kiện và lặp lại .

Có bao nhiêu loại cấu trúc lặp trong JavaScript?

Chủ yếu có bốn loại vòng lặp trong JavaScript.

3 hàm trong vòng lặp for là gì?

Câu lệnh khởi tạo, mô tả điểm bắt đầu của vòng lặp, nơi biến vòng lặp được khởi tạo với giá trị bắt đầu. Biểu thức kiểm tra, là điều kiện cho đến khi vòng lặp được lặp lại. Câu lệnh cập nhật, thường là số mà biến vòng lặp được tăng lên