Phương thức bind () của hàm JavaScript cho phép một đối tượng mượn phương thức từ đối tượng khác mà không cần sao chép.
Cú pháp của bind()phương thức là:
func.bind(thisArg, arg1,… argN)
Đây, funclà một chức năng.
Tham số bind ()
Các bind()phương pháp có trong:
thisArg- Giá trị được cung cấp dưới dạngthistham số chofunc. Nó bị bỏ qua nếu hàm ràng buộc được tạo bằng toán tử mới .arg1,… argN(tùy chọn) - Các đối số để thêm vào trước các đối số được cung cấp cho hàm ràng buộc khi gọifunc.
Ghi chú:
- Khi sử dụng thisArg bên trong setTimeout, các giá trị nguyên thủy được chuyển đổi thành các đối tượng.
- Nếu
thisArgkhông được chỉ định, phạm vi thực thi này được coi làthisArg.
Trả về giá trị từ bind ()
- Trả về bản sao của hàm đã cho với giá trị này được chỉ định và các đối số ban đầu (nếu được cung cấp).
Ví dụ: Sử dụng bind ()
this.x = 1; // "this" here is the global window object in browser const obj = ( x: 100, getX: function () ( return this.x; ), ); console.log(obj.getX()); // 100 const retrieveX = obj.getX; // the function gets invoked at the global scope console.log(retrieveX()); // 1 // Create a new function with 'this' bound to obj // global variable 'x' with obj's property 'x' are two separate entities const boundGetX = retrieveX.bind(obj); console.log(boundGetX()); // 100
Đầu ra
100 1 100
Sau khi một phương thức được truyền ở đâu đó tách biệt với đối tượng - thissẽ bị mất. Tạo một hàm liên kết từ hàm, sử dụng đối tượng gốc, giải quyết gọn gàng vấn đề này
Đề xuất Đọc: Gọi hàm JavaScript ()








