PHẦN CƠ BẢN
VÒNG LẶP
DATA TYPES
EVENTS
DOM
BOM
OBJECT
BỔ SUNG
THỰC HÀNH
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Biến toàn cục và biến cục bộ trong Javascript

Trong bài này chúng ta sẽ tìm hiểu hai khái niệm biến toàn cục và biến cục bộ trong JS, qua đó sẽ giúp bạn hiểu được phạm vi hoạt động của một biến trong Javascript.

Biến toàn cụcbiến cục bộ là những khái niệm mà bất kì một ngôn ngữ lập trình nào đều có và Javascript cũng không ngoại lệ. Nếu trong ứng dụng của bạn sử dụng trùng tên biến quá nhiều từ trong hàm cho đến ngoài hàm thì đôi khi dẫn đến những kết quả không mong muốn, và lỗi chính là lỗi kiểm soát được biến toàn cục và cục bộ.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Biến cục bộ trong Javascript

Một biến được gọi là cục bộ khi bạn khai báo biến nằm bên trong một hàm cụ thể nào đó, lúc này biến đó sẽ không sử dụng được ở bên ngoài hàm.

Ví dụ: Trong ví dụ này thì đoạn code alert(comment) phía dưới function add_comment() sẽ thông báo lỗi vì nó chưa được định nghĩa. Nhưng đoạn code alert(comment) nằm trong thân hàm add_comment thì lại đúng nhé.

function add_comment()
{
    var comment = "Nội dung comment"; 
    
    // Đoạn code này đúng vì biến comment đã tồn tại
    alert(comment);
}
// Gọi hàm
add_comment();

// Đoạn code này sẽ sai vì không tồn tại biến comment
alert(comment);

2. Biến toàn cục trong Javascript

Biến toàn cục là biến mà bạn khai báo bên ngoài và không nằm bên trong một hàm cụ thể nào cả.

Quay lại ví dụ trong phần 1, thay vì khai báo biến bên trong hàm thì mình sẽ khai báo biến bên ngoài hàm thì chương trình không bị lỗi.

// Biến toàn cục
var comment = "Nội dung comment bên ngoài";

// Hàm có sử dụng biến toàn cục
function add_comment()
{
    alert(comment);
}

// Gọi hàm 
add_comment();

// In biến toàn cục
alert(comment);

3. Một số ví dụ biến toàn cục và biến cục bộ

Có rất nhiều lưu ý khi sử dụng biến toàn cục và biến cục bộ nên trong phần này chúng ta sẽ tìm hiểu thông qua các ví dụ nhé.

Nếu trong hàm có sử dụng từ khóa var và để tạo một biến và tên của biến đó đã tồn tại ở bên ngoài (toàn cục) thì lúc này bên trong hàm sẽ hiểu là đang sử dụng biến cục bộ nên không ảnh hưởng gì biến bên ngoài cả.

Ví dụ RUN
// Biến toàn cục
var comment = "Nội dung comment toàn cục";

// Hàm có sử dụng biến toàn cục
function add_comment()
{
  // Khai báo biến trùng với bên ngoài
  var comment = "Nội dung comment cục bộ";
  alert(comment);
}

// Gọi fuction comment
add_comment();

// In biến toàn cục
alert(comment);

Nếu bạn không sử dụng từ khóa var để khai báo biến trong hàm thì JS sẽ sử dụng biến toàn cục nên mọi thay đổi giá trị của biến comment đó sẽ được lưu lại.

Ví dụ RUN
// Biến toàn cục
var comment = "Nội dung comment trước khi thay đổi";

// Hàm có sử dụng biến toàn cục
function add_comment()
{
    comment = "Nội dung comment đa bị thay đổi";
    alert(comment);
}

// Gọi fuction comment
add_comment();

// In biến toàn cục
alert(comment);

4. Lời kết

Tóm lại biến toàn cục là biến được khai báo bên ngoài hàm và được sử dụng ở tất cả các vị trí, biến cục bộ là biến khai báo ở trong hàm và chỉ sử dụng được trong nội bộ của hàm đó thôi, sau khi hàm thực thi xong thì ngay lập tức nó sẽ bị xóa khỏi bộ nhớ. Và một chú ý quan trọng khác là ở phần ví dụ bạn cần hiểu được trường hợp ghi đè tên biến thông qua từ khóa var ở trong hàm nhé.

Cùng chuyên mục:

Cách gộp hai object javascript lại với nhau

Cách gộp hai object javascript lại với nhau

Cách lấy chiều dài của object trong Javascript

Cách lấy chiều dài của object trong Javascript

Hướng dẫn giải phương trình bậc 1 bằng Javascript

Hướng dẫn giải phương trình bậc 1 bằng Javascript

Cách dùng nextSibling trong javascript

Cách dùng nextSibling trong javascript

Cách dùng insertAdjacentHTML trong javascript

Cách dùng insertAdjacentHTML trong javascript

Cách dùng innerHTML trong Javascript

Cách dùng innerHTML trong Javascript

Cách dùng insertBefore trong javascript

Cách dùng insertBefore trong javascript

Cách dùng insertAfter trong Javascript

Cách dùng insertAfter trong Javascript

Cách dùng parentNode trong Javascript

Cách dùng parentNode trong Javascript

Cách dùng parentElement trong Javascript

Cách dùng parentElement trong Javascript

Tính tổng các phần tử trong mảng javascript

Tính tổng các phần tử trong mảng javascript

Tính tổng hai số bằng Javascript (cộng hai số)

Tính tổng hai số bằng Javascript (cộng hai số)

Cách gán giá trị cho thẻ input trong javascript

Cách gán giá trị cho thẻ input trong javascript

Để gán giá trị cho thẻ input thì ta có hai cách, thứ nhất là…

Cách kiểm tra số nguyên âm trong javascript

Cách kiểm tra số nguyên âm trong javascript

Cách kiểm tra số nguyên dương trong javascript

Cách kiểm tra số nguyên dương trong javascript

Hàm closure trong javascript

Hàm closure trong javascript

Closure là một khái niệm không phải ai cũng ..

Biểu thức chính quy RegEx trong Javascript

Biểu thức chính quy RegEx trong Javascript

Bài này chúng ta sẽ tìm hiểu đến chuỗi và cách sử dụng biểu thức…

Cách dùng Import / Export Module trong javascript

Cách dùng Import / Export Module trong javascript

Khi bạn xây dựng một ứng dụng nhỏ thì việc đặt

Cơ chế hoạt động của hoisting trong Javascript

Cơ chế hoạt động của hoisting trong Javascript

Hoisting là vấn đề liên quan đến cách khai báo biến trong Javascript. Nó liên…

Cấp độ private / protected của class trong Javascript

Cấp độ private / protected của class trong Javascript

Top