Câu hỏi phỏng vấn Javascript
Câu hỏi

Hãy giải thích về ScopeScope Chain trong Javascript?

Câu trả lời

Scope 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

Global 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ụ:

javascript Copy
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

Local Scope

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 đó:

javascript Copy
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

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

middle

Gợi ý câu hỏi phỏng vấn

middle

Giải thích sự khác biệt giữa function Person(){}, var person = Person(), và var person = new Person() là gì?

senior

Thuật ngữ transpiling trong Javascript là gì?

senior

Mô tả module design pattern trong JavaScript?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào