Định nghĩa
Trong lúc làm những dự án Front-end chắc hẳn không ít lần chúng ta gặp các từ khóa .bind(), .call(), .apply() trong Javascript đúng không?
Vậy thì tụi nó là gì? Làm ra có tác dụng gì? Mình có thể gói gọn trong các định nghĩa sau
- Là các prototype của function/object (bất kỳ function/object nào cũng có thể gọi ra 3 method này)
- 3 method này đều liên quan đến 1 từ khóa
this
- Nhiệm vụ của chúng là thay đổi
this
của 1 function/object
Khi nào thì dùng?
- Tất nhiên là khi nào trong function/object có dùng từ khóa
this
Sự khác nhau giữa .bind, call, apply?
bind
return function, Sử dụng bind nếu ta muốn excute nó sau này (các sự kiện: click, focus…. )call
, vàapply
execute function imediately, sẽ chạy luôn lúc biên dịch nên đối với những function cần run ngay lập tức tại thời điểm viết code thì dùng nó