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

Hàm anonymous là gì và khi nào nên sử dụng?

Câu trả lời

Một Anonymous Function là một hàm không có tên (hay còn gọi là hàm ẩn danh), là một hàm được sinh ra đúng vào thời điểm chạy của chương trình.

Thông thường khi bạn khai báo một hàm thì trình biên dịch sẽ lưu lại trong bộ nhớ nên bạn có thể gọi ở trên hay dưới vị trí khai báo hàm đều được, nhưng với anonymous functions thì nó sẽ được sinh ra khi trình biên dịch xử lý tới vị trí của nó. Ví dụ:

js Copy
// gọi trước hàm
showDomain(); // hoạt động

function showDomain() {
  alert("Học Javascript tại kungfutech.edu.vn");
}

// gọi sau hàm
showDomain(); // hoạt động

Trong ví dụ này cho dù bạn gọi hàm ở phía trên hay dưới đều hoạt động tốt là vì chương trình đã lưu hàm đó vào bộ nhớ. Nhưng nếu ta sử dụng anonymous function như ví dụ dưới đây sẽ bị lỗi ngay.

js Copy
// gọi trước hàm
showDomain(); // Lỗi vì hàm này chưa tồn tại

var showDomain = function () {
  alert("Học Javascript tại kungfutech.edu.vn");
};

// gọi sau hàm
showDomain(); // hoạt động vì hàm đã tồn tại

Khi nào thì cần dùng Anonymous Function?

Nếu hàm cần được truyền ở nhiều nơi:

  • Định nghĩa 1 hàm thông thường.
  • Truyền hàm đó vào 1 hàm.

Nếu hàm chỉ truyền 1 nơi?

  • Bất tiện khi tạo ra 1 hàm mới (các chi phí như đặt tên hàm).
  • Giúp tăng tính ràng buộc cho việc chỉ được phép truyền 1 lần.
  • Bên cạnh đó hỗ trợ được thêm khả năng chỉ gọi 1 lần.
junior

junior

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

middle

Kết quả list của đoạn code sau là gì? Hãy giải thích tại sao?

middle

Toán tử typeof trong Javascript để làm gì?

middle

Kết quả đoạn code sau là gì? Hãy giải thích tại sao?

Bình luận

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

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