Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Cách tải hàm JavaScript bằng tên biến (anonymous function)

Anonymous Function (Hàm vô danh)

Hàm không có tên, được gán cho biến. Gọi qua tên biến.

Cú pháp cơ bản

var func = function() {
  alert('This is anonymous');
};
func(); // gọi hàm

Ví dụ trả về giá trị

var add = function(a, b) {
  return a + b;
};
console.log(add(2, 3)); // 5

Named Function Expression (Có tên)

Tên hàm chỉ dùng bên trong (đệ quy, debug stack trace).

var factorial = function fact(n) {
  return n <= 1 ? 1 : n * fact(n - 1); // dùng fact để đệ quy
};
console.log(factorial(5)); // 120
// fact() // ReferenceError – không truy cập được bên ngoài

Arrow Function (ES6) – Ngắn gọn hơn

const greet = (name) => "Hello " + name;
const sum = (a, b) => a + b;
const noArg = () => "No args";

Ứng dụng: Callback, Higher-order function

setTimeout(function() { console.log("Later"); }, 1000);
// hoặc
setTimeout(() => console.log("Later"), 1000);

[1,2,3].map(function(x) { return x * 2; });
// hoặc
[1,2,3].map(x => x * 2);

Lưu ý

  • Function expression không được hoisting – phải khai báo trước khi dùng.
  • Arrow function không có this, arguments, super, new.target riêng.