1. JavaScript là gì?
JavaScript (JS) là ngôn ngữ lập trình được sử dụng để xây dựng các tính năng tương tác trên website như:
- Popup, hiệu ứng giao diện
- Xử lý sự kiện (click, scroll…)
- Gửi/nhận dữ liệu API
- Ứng dụng web hiện đại (SPA) như Facebook, Gmail
JS hiện chạy ở nhiều môi trường:
- Trình duyệt (Chrome, Firefox…)
- Máy chủ qua Node.js
- Mobile (React Native)
- Desktop (Electron)
2. JavaScript hoạt động như thế nào?
Để hiểu cách JS hoạt động, bạn cần biết 5 thành phần quan trọng:
2.1 Call Stack (Ngăn xếp lời gọi)
Call Stack lưu trữ các hàm đang thực thi.
- JavaScript là single-threaded -> chỉ chạy 1 nhiệm vụ tại một thời điểm trên Call Stack.
- Nếu một hàm chạy lâu sẽ làm “đơ” giao diện.
Ví dụ:
function a() {
console.log("A");
}
function b() {
a();
console.log("B");
}
b();
Call Stack hoạt động:
- push
b() - push
a() - pop
a() - pop
b()
2.2 Heap (Vùng bộ nhớ)
- Là nơi lưu trữ đối tượng, dữ liệu phức tạp.
- JS tự động dọn rác (garbage collector).
2.3 Web APIs / Node APIs
Dùng để xử lý tác vụ bất đồng bộ như:
setTimeout()fetch()(gọi API)- DOM event (click)
Trình duyệt / Node.js xử lý -> sau khi xong -> đưa callback vào hàng đợi.
2.4 Callback Queue (Hàng đợi callback)
Là nơi chờ các tác vụ bất đồng bộ quay lại để được thực thi tiếp.
2.5 Event Loop (Vòng lặp sự kiện) - “Trái tim” của JavaScript
Event Loop liên tục kiểm tra:
- Nếu Call Stack rỗng -> đưa callback từ Queue vào Stack để thực thi.
Nhờ đó, JS không bị đứng khi xử lý tác vụ tốn thời gian.
3. Quy trình hoạt động của JavaScript
Ví dụ:
console.log("1");
setTimeout(() => {
console.log("2");
}, 1000);
console.log("3");
Kết quả:
1
3
2
Giải thích:
"1"-> chạy ngaysetTimeoutgửi nhiệm vụ sang Web API"3"-> chạy tiếp- Sau 1 giây, callback được đưa vào Callback Queue
- Event Loop kiểm tra -> đưa vào Call Stack -> in
"2"
4. Synchronous vs Asynchronous trong JavaScript
Synchronous (Đồng bộ)
- Thực thi theo thứ tự từ trên xuống.
- Nếu hàm chạy lâu -> block giao diện.
Asynchronous (Bất đồng bộ)
Giúp JS “chạy song song” với trình duyệt bằng Web API, Event Loop.
Các kỹ thuật bất đồng bộ:
- Callback
- Promise
- async/await
5. JavaScript Engine là gì?
JavaScript Engine là chương trình giúp đọc & chạy mã JS.
Các engine phổ biến:
| Trình duyệt | Engine |
| Chrome, Edge | V8 |
| Firefox | SpiderMonkey |
| Safari | JavaScriptCore |
Engine thực thi qua 2 bước:
- Parsing -> chuyển code thành AST
- Execution -> chạy lần đầu hoặc tối ưu (JIT - Just-In-Time)
6. Tại sao JavaScript lại nhanh và mạnh trong 2025?
- V8 ngày càng tối ưu -> chạy nhanh hơn
- WebAssembly hỗ trợ xử lý nặng
- Event Loop giúp không bị block
- Có thể chạy cả client & server (Node.js, Deno, Bun)
- Hệ sinh thái thư viện khổng lồ
7. Kết luận
JavaScript hoạt động dựa trên một mô hình single-thread nhưng thông minh nhờ:
- Call Stack
- Web APIs
- Event Loop
- Callback Queue
Điều này giúp JS xử lý tác vụ bất đồng bộ hiệu quả, đảm bảo giao diện luôn mượt mà.
Ý kiến của bạn 0
Chưa có bình luận nào. Hãy là người đầu tiên!