Bài 7: Phạm vi biến – toàn cục và cục bộ (scope)

yanyan

By yanyan

Cập nhật Tháng 7 19, 2025

Tiếp theo là Bài 18 – Phạm vi biến (Scope) trong JavaScript. Đây là phần rất quan trọng để bạn hiểu biến hoạt động ở đâu, tránh lỗi trùng tên và điều khiển dữ liệu tốt hơn.


1. Scope là gì?

Scopephạm vi mà biến tồn tại và có thể được truy cập.

Có 3 loại:

  • Global Scope (toàn cục)
  • Function Scope (trong hàm)
  • Block Scope (trong {} – với let, const)

2. Global scope – biến toàn cục

Khai báo ngoài mọi hàm → dùng được ở bất kỳ đâu trong file.

let username = "An"

function sayHi() {
  console.log("Xin chào " + username)
}

sayHi() // Xin chào An

3. Function scope – biến trong hàm

Khai báo bên trong hàm → chỉ dùng được trong hàm đó.

function greet() {
  let name = "Bình"
  console.log(name)
}

greet()
// console.log(name) → lỗi: name không tồn tại ngoài hàm

4. Block scope – với let, const

Biến let, const trong cặp {} sẽ chỉ sống trong đó.

if (true) {
  let a = 5
  const b = 10
  console.log(a + b) // 15
}

// console.log(a) → lỗi: a không tồn tại ngoài khối

Nếu dùng var, biến không tuân theo block scope, dễ gây lỗi.


5. Tại sao cần hiểu scope?

  • Tránh xung đột biến khi dùng lại tên
  • Quản lý bộ nhớ tốt hơn (biến cục bộ sẽ bị xoá sau khi dùng)
  • Viết code rõ ràng, dễ bảo trì

6. Giao diện học (code + output)

Mã lệnhKết quả / lỗi
let x = 10; function(){...}x dùng được trong hàm
let x = 1; { let x = 2 }x bên ngoài vẫn là 1
console.log(a) ngoài hàmlỗi: a không xác định

Tóm tắt bài 18

Bạn đã học:

  • Global scope: biến dùng được mọi nơi
  • Function scope: biến chỉ dùng trong hàm
  • Block scope: với let, const chỉ tồn tại trong {}
  • Tránh dùng var nếu không cần thiết

Bài tập

  1. Tạo biến toàn cục site = "faddat.com" → in trong 2 hàm khác nhau
  2. Viết hàm có biến localName, in ra bên trong và thử in ngoài → giải thích
  3. So sánh var, let, const trong if để xem phạm vi

📂 Chuyên mục:

🏷️ Thẻ liên quan:

Thảo luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

[global_subscribe_form]

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.