Phạm vi trong JavaScript
- Trang trước JS ngoại lệ
- Trang tiếp theo JS Hoisting
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 }
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 }
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"; }
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
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.
- Trang trước JS ngoại lệ
- Trang tiếp theo JS Hoisting