Computer >> Máy Tính >  >> Lập trình >> Javascript

Các biến JavaScript khai báo vòng lặp bên ngoài hay bên trong?

Ngôn ngữ ECMA- / Javascript lưu trữ bất kỳ biến nào được khai báo vớivar ở bất kỳ đâu ở đầu một hàm. Đó là bởi vì ngôn ngữ này không có phạm vi chức năng và không có phạm vi khối như nhiều ngôn ngữ C-likelanguages ​​khác.

function() {
   for(var a = 0; a < 7; a ++) {
      var b = 100;
   }
}

giống như

function() {
   var b;
   for(var a = 0; a < 7; a ++) {
      b = 100;
   }
}

Nhưng với let, đây không phải là trường hợp. hãy để có phạm vi từ vựng. Vì vậy, trừ khi bạn sẽ cần cùng một biến bên ngoài vòng lặp (hoặc nếu mỗi lần lặp phụ thuộc vào một hoạt động được thực hiện với biến đó trong lần lặp trước), tốt hơn hết bạn nên khai báo phạm vi mà nó được sử dụng.