JavaScript

Vòng lặp for trong JavaScript

Vòng lặp For trong JavaScript
Được viết bởi Minh Hoàng

Series lập trình JavaScript, ngôn ngữ lập trình linh động, thực thi phía client.

Vòng lặp For trong JavaScript

– Vòng lặp có thể thực thi một khối lệnh nhiều lần. Nếu bạn muốn một vài lệnh lặp đi lặp lại, thì nó rất hữu ích để thiết lập các giá trị khác nhau cho mỗi lần lặp.

– Vòng lặp thường được sử dụng để làm việc với mảng:

Thay vì viết:
name += arrCars[0] + "<br>"; 
name += arrCars[1] + "<br>"; 
name += arrCars[2] + "<br>"; 
name += arrCars[3] + "<br>"; 
name += arrCars[4] + "<br>"; 
name += arrCars[5] + "<br>";
Bạn có thể viết:
var ii;
for (ii = 0; ii < arrCars.length; ii++) { 
    name += arrCars[ii] + "<br>";
}
Try it »
JavaScript hỗ trợ 2 dạng vòng lặp for sau:

  1. Vòng lặp for: Lặp lại một khối lệnh với số lần lặp xác định, biết trước.
  2. Vòng lặp for/in: Vòng lặp qua các thuộc tính của một đối tượng.
1. Vòng lặp for

1. Vòng lặp for

Vòng lặp for: Lặp lại một khối lệnh với số lần lặp xác định, biết trước.

1.1. Cú pháp:
for (statement 1; statement 2; statement 3) {
    code block
}

– Trong đó:

  • Statement 1: được thực hiện (một lần) trước khi thực thi khối lệnh code block.
  • Statement 2: định nghĩa điều kiện để thực thi code block.
  • Statement 3: được thực thi (mỗi lần) sau khi code block đã được thực thi.
1.2. Ví dụ:
[code language=”javascript”]for (ii = 0; ii < 5; ii++) {
num += "Số: " + ii + "<br>";
}[/code] Try it »

– Từ ví dụ trên, chúng ta thấy:

  • Statement 1: đặt một biến trước khi vòng lặp bắt đầu (var ii = 0).
  • Statement 2: xác định điều kiện thực hiện của vòng lặp (i phải nhỏ hơn 5).
  • Statement 3: tăng giá trị (ii++) mỗi khi lệnh trong vòng lặp được thực thi.
Statement 1

– Thông thường, statement 1 được sử dụng để khởi tạo biến được sử dụng trong vòng lặp (ii = 0).

– Bạn cũng có thể khởi tạo giá trị cho nhiều biến cùng lúc (cách nhau bằng dấu phẩy) ở vị trí statement 1 này:

Ví dụ:
[code language=”javascript”]for (ii = 0, len = arrCars.length, name = ""; ii < len; ii++) {
name += arrCars[ii] + "<br>";
}[/code] Try it »

– Và statement 1 này là tùy chọn (optional). Statement 1 có thể được bỏ qua (nếu giá trị đã được thiết lập trước khi bắt đầu vòng lặp):

Ví dụ:
[code language=”javascript”]var ii = 2;
var len = arrCars.length;
var name = "";

for (; ii < len; ii++) {
name += arrCars[ii] + "<br>";
}[/code] Try it »

Statement 2

– Statement 2 thường được sử dụng để đánh giá trạng thái của các biến ban đầu.

– Nếu statement 2 trả về true thì vòng lặp sẽ tiếp tục, nếu nó trả về false thì vòng lặp sẽ kết thúc.

– Và statement 2 cũng là tùy chọn (optional), có thể có hoặc không.

Nếu bỏ qua statement 2, bạn cần phải cung cấp một điều kiện kết thúc (stop loop) trong vòng lặp. Nếu không vòng lặp sẽ bị lặp vô hạn.

Statement 3

– Statement 3 dùng để tăng giá trị của biến ban đầu. Có thể là tăng âm (ii–), hay tăng dương (ii = ii + 15).

– Và statement 3 cũng là tùy chọn (optional), có thể có hoặc không. Nếu statement 3 bị bỏ qua, thì bạn cần tăng giá trị cho biến bên trong vòng lặp:

Ví dụ:
[code language=”javascript”]var ii = 0;
var len = arrCars.length;
var name = "";

for ( ; ii < len; ) {
name += arrCars[ii] + "<br>";
ii++;
}[/code] Try it »

2. Vòng lặp for/in

2. Vòng lặp for/in

Trong JavaScript vòng lặp for/in lặp qua các thuộc tính của một đối tượng:

Ví dụ:
[code language=”javascript”]var objPerson = {fname:"Minh", lname:"Hoàng", age:31};
var info = "";
var x;

for (x in objPerson) {
info += objPerson[x] + " ";
}[/code] Try it »

Ví dụ:
[code language=”javascript”]var aProperty;
document.write("Danh sách các thuộc tính của đối tượng navigator:");

for (aProperty in navigator) {
document.write(aProperty);
}[/code] Try it »

Cảm ơn bạn đã theo dõi. Đừng ngần ngại hãy cùng thảo luận với chúng tôi!

Giới thiệu

Minh Hoàng

Xin chào, tôi là Hoàng Ngọc Minh, hiện đang làm BrSE, tại công ty Toyota, Nhật Bản. Những gì tôi viết trên blog này là những trải nghiệm thực tế tôi đã đúc rút ra được trong cuộc sống, quá trình học tập và làm việc. Các bài viết được biên tập một cách chi tiết, linh hoạt để giúp bạn đọc có thể tiếp cận một cách dễ dàng nhất. Hi vọng nó sẽ có ích hoặc mang lại một góc nhìn khác cho bạn[...]

Translate »