Understand JavaScript - Call() , Aplly() và Bind()
Bạn đã biết rằng một hàm được gọi thì EC được tạo ra từ đó nó tạo ra
- Variable Environment
- Biến this
- Outer Environtment.
Mình đã nói rằng bạn có thể hiểu đơn giản rằng biến this đơn giản là nó trỏ đến đối tượng gọi hàm chứa nó , nếu bạn không nắm chắc rõ ràng ngữ cảnh của biến this sẽ rất dễ gây nhầm lẫn
=> Vậy nếu chúng ta có thể chỉ định đối tượng mà biến this trỏ đến.
Để hiểu đầy đủ về Call , Apply , Bind chúng ta cần có sự hiểu biết về First Class Function
Các bạn đã biết rằng hàm chỉ là một đối tượng đặc biệt với các property là code và name (có thể là hàm vô danh) cùng với đó nó có quyền truy cập vào các phương thức như call , apply , bind.
Cả 3 hàm này đều làm việc với biến this và một biến mà nó nhận làm tham số.
Sử dụng 3 hàm này với các hàm giúp chúng ta có thể tận dụng hàm của object A để áp dụng cho object B
- Variable Environment
- Biến this
- Outer Environtment.
Mình đã nói rằng bạn có thể hiểu đơn giản rằng biến this đơn giản là nó trỏ đến đối tượng gọi hàm chứa nó , nếu bạn không nắm chắc rõ ràng ngữ cảnh của biến this sẽ rất dễ gây nhầm lẫn
=> Vậy nếu chúng ta có thể chỉ định đối tượng mà biến this trỏ đến.
Để hiểu đầy đủ về Call , Apply , Bind chúng ta cần có sự hiểu biết về First Class Function
Các bạn đã biết rằng hàm chỉ là một đối tượng đặc biệt với các property là code và name (có thể là hàm vô danh) cùng với đó nó có quyền truy cập vào các phương thức như call , apply , bind.
Cả 3 hàm này đều làm việc với biến this và một biến mà nó nhận làm tham số.
Sử dụng 3 hàm này với các hàm giúp chúng ta có thể tận dụng hàm của object A để áp dụng cho object B
Nhận xét
Đăng nhận xét