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

Anonymous Function (Hàm ẩn danh) trong JavaScript

Anonymous function = function expression **không có tên** (name không dùng trong call stack).

Ví dụ

var myFunction = function() {
  // function body
};
myFunction(); // gọi qua variable

Đặc điểm

  • Gán vào variable / truyền làm argument (callback).
  • Có thể nhận parameter, return value như function bình thường.
  • Không thể tự gọi đệ quy (recursive) trừ khi dùng arguments.callee (deprecated) hoặc gán tên cho expression: const fn = function named() { named(); }.

Named Function Expression (có tên nhưng vẫn expression)

var factorial = function fact(n) {
  return n <= 1 ? 1 : n * fact(n-1); // đệ quy dùng tên nội bộ
};

Lợi ích named expression: Debug stack trace hiện tên hàm thay vì anonymous.