Phạm vi trong JavaScript

Phạm vi là tập hợp các biến mà bạn có quyền truy cập.

Phạm vi hàm JavaScript

Trong JavaScript có hai loại phạm vi:

  • Phạm vi cục bộ
  • Phạm vi toàn cục

JavaScript có phạm vi hàm: Mỗi hàm tạo ra một phạm vi mới.

Phạm vi quyết định khả năng truy cập (xem thấy) của các biến này.

Biến được định nghĩa trong hàm không thể truy cập từ bên ngoài hàm (không thể nhìn thấy).

biến JavaScript cục bộ

Biến được khai báo trong hàm JavaScript sẽ trở thànhbiến cục bộ.

Phạm vi của biến cục bộ làcục bộ:Chỉ có thể truy cập chúng trong hàm.

Mẫu

// Đây là mã không thể sử dụng biến carName
function myFunction() {
    var carName = "porsche";
    // Đây là mã có thể sử dụng biến carName
}

Thử ngay

Do chỉ có thể nhận diện biến cục bộ trong hàm, vì vậy có thể sử dụng biến có cùng tên trong các hàm khác nhau.

Biến cục bộ sẽ được tạo khi hàm bắt đầu và sẽ bị xóa khi hàm hoàn thành.

biến JavaScript toàn cục

Biến được khai báo ngoài hàm sẽ trở thànhBiến toàn cục.

Phạm vi của biến toàn cục làtoàn cục:Tất cả các script và hàm trên trang web đều có thể truy cập vào nó.

Mẫu

var carName = "porsche";
// Đây là mã có thể sử dụng biến carName
function myFunction() {
    // Đây là mã có thể sử dụng biến carName
}

Thử ngay

Biến JavaScript

Trong JavaScript, đối tượng và hàm cũng là biến.

Phạm vi quyết định khả năng truy cập vào biến, đối tượng và hàm từ các phần khác nhau của mã.

toàn cục tự động

Nếu bạn gán giá trị cho biến chưa được khai báo, biến đó sẽ tự động trở thànhtoàn cụcbiến.

Mã này sẽ khai báo một biến toàn cục carName, ngay cả khi có việc gán giá trị trong hàm.

Mẫu

myFunction();
// Đây là mã có thể sử dụng biến carName
function myFunction() {
    carName = "porsche";
}

Thử ngay

Chế độ "Chặt chẽ"

Tất cả các trình duyệt hiện đại đều hỗ trợ chạy JavaScript trong chế độ "Chặt chẽ".

Bạn sẽ học thêm về cách sử dụng chế độ "Chặt chẽ" trong các chương sau của hướng dẫn này.

Trong chế độ "Chặt chẽ", biến toàn cục sẽ không được tạo tự động.

Biến toàn cục trong HTML

Bằng JavaScript, phạm vi toàn cục tạo thành môi trường JavaScript hoàn chỉnh.

Trong HTML, phạm vi toàn cục là window. Tất cả các biến toàn cục đều thuộc đối tượng window.

Mẫu

var carName = "porsche";
// Mã ở đây có thể sử dụng window.carName

Thử ngay

Cảnh báo

Nếu không có mục đích rõ ràng, đừng tạo biến toàn cục.

Biến và hàm toàn cục của bạn (hoặc hàm) có thể che khuất biến và hàm đối tượng window (hoặc hàm).

Bất kỳ hàm nào, bao gồm đối tượng window, đều có thể che khuất biến và hàm toàn cục của bạn.

Thời gian hiệu lực của biến JavaScript

Thời gian hiệu lực của biến JavaScript bắt đầu từ khi nó được tạo ra.

Các biến cục bộ sẽ bị xóa khi hàm hoàn thành.

Biến toàn cục sẽ bị xóa khi bạn đóng trang.

Các tham số hàm

Các tham số hàm cũng là biến cục bộ trong hàm.