Các biến toàn cục được khai báo bên ngoài một hàm để có thể truy cập trong toàn bộ chương trình, trong khi các biến cục bộ được lưu trữ bên trong một hàm bằng cách sử dụng var
chỉ để sử dụng trong phạm vi của chức năng đó. Nếu bạn khai báo một biến mà không sử dụng var
ngay cả khi nó nằm trong một chức năng, nó vẫn sẽ được xem là toàn cầu:
var x = 5; // global
function someThing(y) {
var z = x + y;
console.log(z);
}
function someThing(y) {
x = 5; // still global!
var z = x + y;
console.log(z);
}
function someThing(y) {
var x = 5; // local
var z = x + y;
console.log(z);
}
Một biến toàn cục cũng là một đối tượng của phạm vi hiện tại, chẳng hạn như cửa sổ trình duyệt:
var dog = “Fluffy”;
console.log(dog); // Fluffy;
var dog = “Fluffy”;
console.log(window.dog); // Fluffy
Đó là cách thực hành tốt nhất để giảm thiểu các biến toàn cầu. Vì biến có thể được truy cập ở bất kỳ đâu trong chương trình nên chúng có thể gây ra hành vi lạ.
Người giới thiệu:
Phạm vi của các biến JavaScript là toàn cục hoặc cục bộ. Các biến toàn cục được khai báo BÊN NGOÀI hàm và giá trị của nó có thể truy cập/thay đổi được trong suốt chương trình.
Bạn nên LUÔN LUÔN sử dụng var để khai báo các biến của bạn (để tạo cục bộ), nếu không nó sẽ cài đặt TOÀN CẦU
Hãy cẩn thận với các biến toàn cầu vì chúng có rủi ro. Hầu hết thời gian bạn nên sử dụng bao đóng để khai báo các biến của mình. Ví dụ:
(function(){
var myVar = true;
})();