algolia search

Tìm thấy x bài viết trong xms.

Về cơ bản, muốn gọi một hàm trong javascript chúng ta phải sử dụng cặp dấu () như sau

Vậy, để gọi mà không cần dùng cặp () có được không ? Câu trả lời là có và còn rất nhiều cách

Gọi thông qua new

Trong JS hàm dùng với từ khóa new không cần cặp ()

Gọi thông qua toString

Cách này ép kiểu object thành string, thế nên javascript tự động gọi method toString nếu nó được khai báo, nếu không được khai báo thì nó trả về kết quả tương đương với String(toStringTest)

Gọi thông qua valueOf

Cách này tương tự với toString nhưng ép kiểu object thành number, thế nên valueOf sẽ được gọi

Gọi thông qua event listener

Cách gọi này thụ động, phải nhờ sự kiện của một object/element nào đó

Gọi thông qua setTimeout, setInterval

Đây cũng là cách gọi thụ động khác, sử dụng setTimeout để trigger

Gọi thông qua Tagged Template Literal

Cách này cần trình duyệt hỗ trợ ES6 trở lên. Bạn có thể tham khảo cách dùng Tagged Template Literal tại đây https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

Cách gọi bằng Promise

Lợi dụng phương thức promise.then

Hoặc gọi bằng những phương thức nhận vào callback/function

Tổng hợp

Thực tế để đảm bảo đủ điều kiện ràng buộc hoàn toàn không sử dụng cặp () thì chỉ có những cách sau là hợp lệ

Kết

Javascript thật lạ và lý thú phải không bạn ? Theo bạn thì còn những cách nào, comment bên dưới những cách mà bạn biết.

Nguồn: JS Land

Đánh giá bài viết

Thích thì like
Javascript: Có bao nhiêu cách để gọi hàm không cần dấu ()?
0/5 0 votes

Bình luận

Hiển thị bình luận Facebook