Cách sử dụng Anonymous Function trong JS

Ngày đăng: 29/01/2021   -    Cập nhật: 29/01/2021
Trong hướng dẫn này, bạn sẽ được tìm hiểu về hàm ẩn danh (Anonymous Function) trong JavaScript và cách chúng ta thường sử dụng hàm ẩn danh.

Cách sử dụng Anonymous Function trong JS


Anonymous Function là gì?



Một Anonymous Function là một hàm không có tên (hay còn gọi là hàm ẩn danh). Và một hàm ẩn danh thường không thể truy cập được sau khi tạo lần đầu.


Sau đây ta có một hàm ẩn danh hiển thị một thông báo:




let thongBao = function() {
    console.log("Anonymous Function");
};

thongBao();
 


Trong ví dụ này, hàm ẩn danh không có tên giữa từ khóa function và dấu ngoặc đơn ().


Thông thường thì nó phải là như thế này:




function thongBao() {
    console.log("Anonymous Function");
}

thongBao();
 


Nhưng ta sử dụng hàm ẩn danh là có lý do (lát sẽ biết)


Và vì sau này chúng ta cần gọi hàm ẩn danh nên chúng ta gán hàm cho biến thongBao


Gọi hàm thì tương tự nhau.



Sử dụng hàm ẩn danh làm đối số của hàm khác



Chúng ta thường sử dụng các hàm ẩn danh làm đối số của các hàm khác. Ví dụ:



// Sử dụng hàm ẩn danh làm đối số
setTimeout(function() {
    console.log("Thực thi sau 1s nữa")
}, 1000);
 


Truyền hàm làm đối số của hàm khác là hoàn toàn có thể.


Trong ví dụ này, chúng ta truyền một hàm ẩn danh vào hàm setTimeout(). Hàm setTimeout() thực thi hàm ẩn danh này một giây sau đó.


> Để tìm hiểu chi tiết hơn về setTimeout() cũng thì mời bạn xem hướng dẫn XỬ LÝ BẤT ĐỒNG BỘ trong JavaScript.



Hàm tự gọi ngay lập tức



Nếu bạn muốn tạo một hàm và thực thi nó ngay sau khi khai báo (Immediately invoked function expression), bạn có thể sử dụng hàm ẩn danh như sau:



(function() {
    console.log("Hàm tự gọi ngay lập tức IIFE");
})();
 


Nó hoạt động như thế nào?


Đầu tiên, phần bên dưới đây định nghĩa một hàm:



(function() {
    console.log("Hàm tự gọi ngay lập tức IIFE");
})
 


Tiếp theo, chúng ta thêm dấu ngoặc đơn ở cuối () cho phép gọi hàm ngay lập tức:



(function() {
    console.log("Hàm tự gọi ngay lập tức IIFE");
})();
 


Và thi thoảng, bạn có thể truyền đối số cho nó như thế này:



let sinhVien = {
    ten: "Hương",
    tuoi: 18
};

// Ví dụ truyền đối số cho hàm IIFE
(function() {
    console.log(`${sinhVien.ten} ${sinhVien.tuoi} tuổi`);
})(sinhVien);
 


> Note: Dấu `` gọi là template literals được giới thiệu trong phiên bản ES6 được sử dụng để nội suy chuỗi.


Arrow function



ES6 đã giới thiệu arrow function để cung cấp cách viết tắt để khai báo các hàm ẩn danh. Đây có lẽ là một trong những tính năng mình thích nhất của ES6. :D


Ví dụ, hàm này:




let thongBao = function() {
    console.log("Anonymous Function");
};
 


Có thể được viết ngắn hơn bằng cách sử dụng arrow function như sau:



let thongBao = () => console.log("Anonymous Function");
 


Tương tự, hàm ẩn danh này:



let tong2So = function(ab) {
    return a + b;
};
 


Cũng có thể viết ngắn hơn với Arrow function như sau:



let tong2So = (ab=> a + b;
 


Tổng kết về hàm ẩn danh



Hàm ẩn danh (Anonymous Function) trong JavaScript là các hàm không có tên. Nó có thể được sử dụng như một đối số cho các hàm khác hoặc như một hàm tự thực thi ngay lập tức.


---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0968051561
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python
Bình luận Facebook
Khóa học liên quan đến bài viết

KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS

56 giờ
Học Lập trình Front end hiện đại với ReactJS. Học làm chủ HTML, CSS, JS và thư viện JavaScript phổ biến nhất hiện nay. Sẵn sàng đi thực tập / đi làm ngay sau khóa học.

Khóa học PHP Full stack [2023] cho người mới bắt đầu

96 giờ
Khóa học Lập trình PHP Full stack, phiên bản cập nhật lần thứ 8. Dạy Lập trình PHP bài bản từ Front end đến Back end + Laravel. Hướng dẫn làm 2 Dự Án Web lớn

KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG

50 giờ
Khóa học giúp học viên sử dụng thành thạo ngôn ngữ Lập trình Python (3x). Hiểu và phát triển được Ứng dụng Web với Django Framework. Học thực hành với Giảng viên cao cấp.

Lập trình PHP với Laravel Framework

42 giờ
Khóa học Lập trình PHP với Laravel Framework được NIIT - ICT HÀ NỘI xây dựng nhằm hoàn thiện kỹ năng lập trình web các các bạn đã biết Lập trình Web PHP thuần.

Khóa học Java Full stack (IJFD)

104 giờ
Học lập trình Java Fullstack với khóa học được xây dựng theo lộ trình bài bản, từ JAVA CƠ BẢN đến JAVA WEB và nâng cao về JAVA FRAMEWORK như: Spring Boot, Hibernate
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!