Vòng lặp lồng nhau và phạm vi biến trong JavaScript
Nếu chúng ta có một vòng lặp bên trong một vòng lặp, thì các biến
được khai báo ở vòng lặp bên ngoài sẽ có thể truy cập được
ở vòng lặp bên trong. Trong ví dụ tiếp theo, biến
num có thể truy cập được ở vòng lặp bên trong:
for (let i = 0; i <= 9; i++) {
let num = 3;
for (let j = 0; j <= 9; j++) {
console.log(num); // sẽ hiển thị 3
}
}
Tuy nhiên, bên ngoài vòng lặp bên ngoài, biến num
không thể truy cập được:
for (let i = 0; i <= 9; i++) {
let num = 3;
for (let j = 0; j <= 9; j++) {
}
}
console.log(num); // sẽ báo lỗi
Các biến được khai báo ở vòng lặp bên trong không thể truy cập được từ bên ngoài:
for (let i = 0; i <= 9; i++) {
for (let j = 0; j <= 9; j++) {
let num = 3;
}
console.log(num); // sẽ báo lỗi
}
console.log(num); // sẽ báo lỗi