Câu hỏi

Sự khác nhau giữa bind, callapply trong Javascript là gì?

Câu trả lời

Trong JavaScript, bind, callapply là ba phương thức của đối tượng Function và chúng đều được sử dụng để thiết lập giá trị của this khi gọi một hàm. Dưới đây là sự khác biệt chính giữa chúng:

call()

  • Gọi hàm ngay lập tức: call() gọi hàm ngay lập tức với giá trị this được chỉ định.
  • Truyền tham số: Các tham số được truyền vào hàm một cách rõ ràng, phân cách bởi dấu phẩy

apply()

  • Gọi hàm ngay lập tức: Giống như call(), apply() cũng gọi hàm ngay tức thì.
  • Truyền tham số: Thay vì truyền từng tham số riêng lẻ, apply() nhận một mảng các tham số

bind()

  • Không gọi hàm ngay lập tức: bind() không gọi hàm ngay khi nó được sử dụng, mà trả về một hàm mới với giá trị this được ràng buộc sẵn.
  • Truyền tham số: Các tham số được truyền vào giống như call(), nhưng hàm mới này có thể được gọi sau đó với giá trị this đã được thiết lập

Khi nào sử dụng từng phương thức

  • call(): Khi bạn muốn gọi một hàm ngay l...
Bạn cần đăng nhập để xem