Hướng dẫn dùng binds. trong PHP
Phương thức Show Sau đây minh họa cú pháp của phương thức bind():
fn.bind(thisArg[, arg1[, arg2[, ...]]]) Trong cú pháp này, phương thức bind() trả về một bản sao của hàm fn với giá trị cụ thể Sử dụng bind() để liên kết hàm (function binding)Khi bạn truyền một phương thức, một đối tượng đến một hàm khác dưới dạng callback, thì setTimeout(sinhVien.getTen, 1000); Kết quả: Như bạn có thể thấy rõ ràng là Trong trường hợp này, câu lệnh:
được JavaScript Engine hiểu là: setTimeout(f, 1000); // Mất sinhVien context Hàm Để tránh trường hợp này, bạn có thể bọc lệnh gọi đến phương thức Cách này sẽ hoạt động đúng mong đợi vì nó lấy Hoặc bạn có thể sử dụng phương thức bind() mà JS cung cấp: let f = sinhVien.getTen.bind(sinhVien); Chúng ta có thể hiểu thế này:
Sử dụng phương thức bind() để mượn phương thức từ đối tượng khácĐầu tiên, giả sử bạn có một đối tượng console.log(this.ten + ' chạy được ' + tocDo + ' m/s.'); Và một đối tượng console.log(this.ten + ' bay được ' + tocDo + ' m/s.'); Bây giờ, nếu bạn muốn liên kết đối tượng
// trong đối tượng vanDongVien let chay = vanDongVien.chay.bind(chim, 0.5); Trong câu lệnh trên:
Kết quả ta được:
Như vậy, chúng ta đã mượn thành công phương thức Khả năng mượn một phương thức của một đối tượng mà không cần tạo bản sao của phương thức đó và duy trì nó ở hai nơi riêng biệt là tính năng rất mạnh trong JavaScript. Nắm được tính năng này sẽ giúp ích cho bạn rất nhiều khi học nâng cao lên front end Framework như React, Angular... > Đăng ký ngay KHÓA HỌC FRONT END (với ReactJS) nếu bạn muốn đi chuyên sâu với ngôn ngữ JavaScript. Tổng kết về bind() trong JSNhư vậy, trong bài hướng dẫn này, mình đã giúp bạn tìm hiểu về phương thức bind() trong JavaScript, biết được bind() là gì, sử dụng nó như thế nào... Túm lại:
Bạn đã hiểu về phương thức bind() trong JS chưa? Hãy để lại bình luận nếu có chỗ nào chưa hiểu bạn nhé. Chúc bạn học tốt! --- HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay! Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội SĐT: 02435574074 - 0968051561 Email: [email protected] Fanpage: https://facebook.com/NIIT.ICT/ #niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python |