Hãy giải thích về Scope
và Scope Chain
trong Javascript?
Hãy giải thích về Scope
và Scope Chain
trong Javascript?
Scope trong JavaScript xác định khả năng truy cập của biến và hàm ở các phần khác nhau trong một đoạn code. Có hai loại scope chính: global scope và local scope
Biến được khai báo ngoài tất cả các hàm là biến toàn cục (global) và có thể được truy cập từ bất kỳ đâu trong mã JavaScript. Ví dụ:
var name = 'GlobalName'; // Biến toàn cục
function showName() {
console.log(name); // Truy cập biến toàn cục từ bên trong hàm
}
showName(); // In ra: GlobalName
Biến được khai báo bên trong một hàm là biến cục bộ (local) và chỉ có thể được truy cập từ bên trong hàm đó. Mỗi hàm định nghĩa một scope riêng, và biến cục bộ không thể được truy cập từ bên ngoài hàm đó:
function showName() {
var localName = 'LocalName'; // Biến cục bộ
console.log(localName); // Truy cập biến cục bộ từ bên trong hàm
}
showName(); // In ra: LocalName
console.log(localName); // Uncaught ReferenceError: localName is not defined
Scope chain là cơ chế mà JavaScript sử dụng để tìm kiếm biến và hàm. Khi một biến không được tìm thấy trong scope hiện tại, JavaScript sẽ tìm kiếm trong scope cha, và tiếp tục như vậy cho đến khi tìm thấy biến hoặc đến khi đạt đến global scope
Mỗi function định nghĩa một scope riêng, và mỗi function được định nghĩa bên trong một function khác sẽ tạo ra một nested scope. Biến được định nghĩa trong một scope có thể được truy cập từ bất kỳ nested scope nào bê...
middle
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào