Bỏ qua để đến nội dung

Functions (Hàm)

Hiểu đơn giản: Function là một khối mã có tên hoặc ẩn danh, có thể gọi lại nhiều lần. Function nhận giá trị đầu vào (parameters) và trả về kết quả ở đầu ra (return).

Trong JS, function là giá trị hạng nhất (first-class value): bạn có thể gán cho biến, truyền làm tham số, hoặc trả về từ function khác. Đây là nền tảng để tái sử dụng mã, trừu tượng hoá, và lập trình hàm.



// Function Declaration — được hoisting
function greet(name) {
return `Hello, ${name}!`;
}
greet("An"); // "Hello, An!"

Function trong JS là giá trị — có thể dùng ở bất kỳ đâu mà một giá trị xuất hiện:

const sayHi = function() { return "Hi!"; };
console.log(sayHi()); // "Hi!"

// ✅ Function Declaration — gọi trước được
sayHello(); // "Hello!"
function sayHello() { return "Hello!"; }
// ❌ Function Expression — lỗi!
sayBye(); // ReferenceError: Cannot access 'sayBye' before initialization
const sayBye = () => "Bye!";

┌─────────────┐
│ Arguments │ ← giá trị đầu vào (khi gọi)
└──────┬───────┘
┌─────────────┐
│ Parameters │ ← biến nhận giá trị (khi khai báo)
└──────┬───────┘
┌─────────────┐
│ Function │ ← thân hàm xử lý logic
│ Body │
└──────┬───────┘
┌─────────────┐
│ return │ ← giá trị đầu ra
└─────────────┘

Đặc điểmDeclarationExpressionArrow
Cú phápfunction f() {}const f = function() {}const f = () => {}
Hoisting
this bindingDynamicDynamicLexical (kế thừa)
arguments
Dùng làm constructor
Ngắn gọnTrung bìnhTrung bình✅ Nhất