Hướng dẫn what are the parts of a for loop javascript? - các phần của javascript vòng lặp for là gì?

Tìm hiểu những phần khác nhau của vòng lặp cho vòng lặp được gọi và những gì chúng làm

  • 24 tháng 5 năm 2021
  • 3 phút đọc

Một vòng lặp JavaScript

let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
0 có bốn phần sau:

for [initialization; condition; final-expression]
    statement

Ba biểu thức được phân tách bằng một đại tá, được đặt trong ngoặc đơn được sử dụng để tạo vòng lặp. Họ cùng nhau tạo thành một "tuyên bố". Câu lệnh FOR được theo sau bởi một câu lệnh duy nhất hoặc một khối các câu lệnh được thực thi trong phần thân của vòng lặp. Ví dụ:

for [let i = 0; i < 5; i++] {
   console.log[i]; // 0 1 2 3 4
}

Tất cả ba biểu thức trong câu lệnh FOR có thể được bỏ qua [vì chúng là tùy chọn]. Tuy nhiên, trong trường hợp đó, bạn nên tự cập nhật biến bộ đếm và phá vỡ vòng lặp tại một số điểm trong cơ thể của vòng lặp. Nếu bạn không chấm dứt vòng lặp, nó sẽ tiếp tục vô hạn. Ví dụ:

let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}

Các chủ đề sau mô tả từng phần của vòng lặp một cách chi tiết:

Khởi tạo

Phần này thường được sử dụng để khởi tạo các biến. Các biểu thức trong phần này được đánh giá một lần trước khi vòng lặp bắt đầu.

Bạn có thể bỏ qua phần khởi tạo hoàn toàn vì nó là tùy chọn. Ví dụ:

let i = 0;

for [; i < 5; i++] {
    console.log[i]; // 0 1 2 3 4
}

Tình trạng

Đây là phần mà bạn cung cấp một điều kiện chấm dứt cho vòng lặp. Miễn là điều kiện này là

let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
1, vòng lặp sẽ tiếp tục thực thi.

Phần điều kiện của vòng lặp

let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
0 là tùy chọn và có thể được bỏ qua. Nếu bạn bỏ qua phần này, hãy nhớ rằng điều kiện sẽ luôn đánh giá thành
let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
1 và bạn phải chấm dứt vòng lặp từ bên trong cơ thể của nó [ví dụ bằng cách sử dụng
let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
4 hoặc
let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
5]:

for [let i = 0;; i++] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4
}

Final-Expression

Đây là một phần của tuyên bố được đánh giá ở cuối mỗi lần lặp lại. Ở đây, thông thường, biến bộ đếm được cập nhật hoặc tăng/giảm.

Phần biểu hiện cuối cùng của vòng lặp

let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
0 là tùy chọn và có thể được bỏ qua. Nếu bạn bỏ qua biểu thức cuối cùng, thì bạn có thể cập nhật biến bộ đếm trong phần thân của vòng lặp, ví dụ, như vậy:

for [let i = 0; i < 5;] {
    console.log[i]; // 0 1 2 3 4
    i++;
}

Bản tường trình

Cơ thể vòng lặp

let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
0 có thể có một câu lệnh hoặc một khối câu lệnh [được nhóm trong niềng răng xoăn]. Một câu lệnh được thực thi miễn là điều kiện của vòng lặp đánh giá thành
let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
1.

Bạn cũng có thể chỉ định một câu lệnh trống [

let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
9], ví dụ, như vậy:

const linearCoords = [];

for [let i = 0; i < 3; linearCoords.push[[i, ++i]]];

console.log[linearCoords]; // [[0,1], [1,2], [2,3]]

Nếu không có đại tá sau tuyên bố cho tuyên bố, dòng theo vòng lặp

let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
0 sẽ được coi là cơ thể của vòng lặp
let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
0. Do đó, để thực hiện không có tuyên bố, điều quan trọng là thêm một câu lệnh trống bằng cách sử dụng một đại hội [
let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
9].

Hy vọng bạn tìm thấy bài viết này hữu ích. Nó đã được xuất bản ngày 24 tháng 5 năm 2021. Vui lòng thể hiện tình yêu và sự hỗ trợ của bạn bằng cách chia sẻ bài đăng này.

  • Phát triển web
  • Frontend
  • JavaScript
  • Phụ trợ
  • Node.js

Câu lệnh FOR tạo ra một vòng lặp bao gồm ba biểu thức tùy chọn, được đặt trong ngoặc đơn và được phân tách bằng dấu chấm phẩy, theo sau là một câu lệnh [thường là một câu lệnh khối] để được thực thi trong vòng lặp.for statement creates a loop that consists of three optional expressions, enclosed in parentheses and separated by semicolons, followed by a statement [usually a block statement] to be executed in the loop.

3 phần chính cho A cho vòng lặp như là gì bên trong dấu ngoặc đơn cho một vòng lặp] là gì?

Đối với các vòng lặp có ba thành phần trong ngoặc đơn, được phân tách bằng dấu chấm phẩy: bộ khởi tạo, điều kiện và bản cập nhật:.

for [initialization; condition; afterthought]
  statement

Bộ khởi tạo chạy một lần ở đầu vòng lặp. ....Optional

Điều kiện được kiểm tra mỗi lần thông qua vòng lặp. ....

Vào cuối mỗi lần lặp, bản cập nhật chạy và chúng tôi quay lại Bước 2 ..

Thử nóOptional

Cú pháp

let i = 0;

for [; i < 5; i++] {
    console.log[i]; // 0 1 2 3 4
}
3 Tùy chọn

Một biểu thức [bao gồm các biểu thức gán] hoặc khai báo biến được đánh giá một lần trước khi vòng lặp bắt đầu. Thường được sử dụng để khởi tạo một biến bộ đếm. Biểu thức này có thể tùy ý khai báo các biến mới với các từ khóa
let i = 0;

for [; i < 5; i++] {
    console.log[i]; // 0 1 2 3 4
}
4 hoặc
let i = 0;

for [; i < 5; i++] {
    console.log[i]; // 0 1 2 3 4
}
5. Các biến được khai báo với
let i = 0;

for [; i < 5; i++] {
    console.log[i]; // 0 1 2 3 4
}
4 không phải là cục bộ với vòng lặp, tức là chúng nằm trong cùng một phạm vi, vòng lặp
let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
0 nằm trong. Các biến được khai báo với
let i = 0;

for [; i < 5; i++] {
    console.log[i]; // 0 1 2 3 4
}
5 là cục bộ của câu lệnh.Optional

Kết quả của biểu thức này bị loại bỏ.

for [let i = 0;; i++] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4
}
0

let i = 0;

for [; i < 5; i++] {
    console.log[i]; // 0 1 2 3 4
}
9 Tùy chọn

Một biểu thức được đánh giá trước mỗi lần lặp vòng lặp. Nếu biểu thức này đánh giá là đúng,
for [let i = 0;; i++] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4
}
0 được thực thi. Nếu biểu thức đánh giá là sai, thực thi thoát khỏi vòng lặp và đi đến câu lệnh đầu tiên sau khi cấu trúc
let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
0.

Bài kiểm tra có điều kiện này là tùy chọn. Nếu bị bỏ qua, điều kiện luôn đánh giá là đúng.

for [let i = 0;; i++] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4
}
2 Tùy chọn

for [let i = 0; i = 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
9].

for [let i = "start" in window ? window.start : 0; i = 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
0 đều là tùy chọn. Ví dụ: không bắt buộc phải sử dụng khối
let i = 0;

for [; i < 5; i++] {
    console.log[i]; // 0 1 2 3 4
}
3 để khởi tạo các biến:

for [let i = 0; i < 5; i++] {
   console.log[i]; // 0 1 2 3 4
}
1

Giống như khối

let i = 0;

for [; i < 5; i++] {
    console.log[i]; // 0 1 2 3 4
}
3, phần
let i = 0;

for [; i < 5; i++] {
    console.log[i]; // 0 1 2 3 4
}
9 cũng là tùy chọn. Nếu bạn đang bỏ qua biểu thức này, bạn phải đảm bảo phá vỡ vòng lặp trong cơ thể để không tạo ra một vòng lặp vô hạn.

for [let i = 0; i < 5; i++] {
   console.log[i]; // 0 1 2 3 4
}
2

Bạn cũng có thể bỏ qua cả ba biểu thức. Một lần nữa, hãy đảm bảo sử dụng câu lệnh

let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
4 để kết thúc vòng lặp và cũng sửa đổi [tăng] một biến, để điều kiện cho câu lệnh break là đúng tại một số điểm.

for [let i = 0; i < 5; i++] {
   console.log[i]; // 0 1 2 3 4
}
3

Tuy nhiên, trong trường hợp bạn không sử dụng đầy đủ cả ba vị trí biểu thức - đặc biệt nếu bạn không khai báo các biến có biểu thức đầu tiên nhưng thay vào đó là đột biến một thứ gì đó trong phạm vi trên - thay vào đó hãy xem xét sử dụng vòng lặp

for [let i = 0; i < 5;] {
    console.log[i]; // 0 1 2 3 4
    i++;
}
8, điều này làm cho ý định rõ ràng hơn.

for [let i = 0; i < 5; i++] {
   console.log[i]; // 0 1 2 3 4
}
4

Khai báo từ vựng trong khối khởi tạo được đưa vào vòng lặp cho vòng lặp

Khai báo một biến trong khối khởi tạo có sự khác biệt quan trọng so với việc khai báo nó trong phạm vi trên, đặc biệt là khi tạo ra một đóng trong thân vòng lặp. Ví dụ: đối với mã bên dưới:

for [let i = 0; i < 5; i++] {
   console.log[i]; // 0 1 2 3 4
}
5

Nó đăng nhập

for [let i = 0;; i++] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4
}
8,
const linearCoords = [];

for [let i = 0; i < 3; linearCoords.push[[i, ++i]]];

console.log[linearCoords]; // [[0,1], [1,2], [2,3]]
0 và
const linearCoords = [];

for [let i = 0; i < 3; linearCoords.push[[i, ++i]]];

console.log[linearCoords]; // [[0,1], [1,2], [2,3]]
1, như mong đợi. Tuy nhiên, nếu biến được xác định trong phạm vi trên:

for [let i = 0; i < 5; i++] {
   console.log[i]; // 0 1 2 3 4
}
6

Nó đăng nhập

const linearCoords = [];

for [let i = 0; i < 3; linearCoords.push[[i, ++i]]];

console.log[linearCoords]; // [[0,1], [1,2], [2,3]]
2,
const linearCoords = [];

for [let i = 0; i < 3; linearCoords.push[[i, ++i]]];

console.log[linearCoords]; // [[0,1], [1,2], [2,3]]
2 và
const linearCoords = [];

for [let i = 0; i < 3; linearCoords.push[[i, ++i]]];

console.log[linearCoords]; // [[0,1], [1,2], [2,3]]
2. Lý do là mỗi
const linearCoords = [];

for [let i = 0; i < 3; linearCoords.push[[i, ++i]]];

console.log[linearCoords]; // [[0,1], [1,2], [2,3]]
5 tạo ra một đóng cửa mới kết thúc biến
for [let i = 0;; i++] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4
}
7, nhưng nếu
for [let i = 0;; i++] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4
}
7 không được đưa vào thân vòng, tất cả các đóng cửa sẽ tham chiếu cùng một biến khi chúng được gọi là - và do tính chất không đồng bộ của
const linearCoords = [];

for [let i = 0; i < 3; linearCoords.push[[i, ++i]]];

console.log[linearCoords]; // [[0,1], [1,2], [2,3]]
5 , nó sẽ xảy ra sau khi vòng lặp đã thoát ra, khiến giá trị của
for [let i = 0;; i++] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4
}
7 trong tất cả các cơ thể của các cuộc gọi lại có giá trị là
const linearCoords = [];

for [let i = 0; i < 3; linearCoords.push[[i, ++i]]];

console.log[linearCoords]; // [[0,1], [1,2], [2,3]]
2.

Điều này cũng xảy ra nếu bạn sử dụng câu lệnh

let i = 0;

for [; i < 5; i++] {
    console.log[i]; // 0 1 2 3 4
}
4 làm khởi tạo, bởi vì các biến được khai báo với
let i = 0;

for [; i < 5; i++] {
    console.log[i]; // 0 1 2 3 4
}
4 chỉ được sử dụng chức năng, nhưng không phạm vi từ vựng [nghĩa là chúng không thể được phân tích vào thân vòng lặp].

for [let i = 0; i < 5; i++] {
   console.log[i]; // 0 1 2 3 4
}
7

Hiệu ứng phạm vi của khối khởi tạo có thể được hiểu như thể tuyên bố xảy ra trong phần thân vòng, nhưng chỉ có thể truy cập được trong các phần

let i = 0;

for [; i < 5; i++] {
    console.log[i]; // 0 1 2 3 4
}
9 và
for [let i = 0;; i++] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4
}
2.

Sử dụng cho không có tuyên bố

Chu kỳ

let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
0 sau đây tính toán vị trí bù của một nút trong phần
for [let i = 0;; i++] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4
}
2 và do đó, nó không yêu cầu sử dụng phần
for [let i = 0;; i++] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4
}
0, thay vào đó là dấu chấm phẩy.

for [let i = 0; i < 5; i++] {
   console.log[i]; // 0 1 2 3 4
}
8

Lưu ý rằng dấu chấm phẩy sau tuyên bố

let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
0 là bắt buộc, bởi vì nó là một tuyên bố trống. Mặt khác, câu lệnh
let i = 0;

for [;;] {
    if [i >= 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4

    i++;
}
0 có được dòng
for [let i = 0; i = 5] {
        break;
    }

    console.log[i]; // 0 1 2 3 4
}
0 của nó, điều này làm cho
for [let i = 0; i 

Bài Viết Liên Quan

Chủ Đề