233 of 264 menu

Phương thức bind

Phương thức bind ràng buộc ngữ cảnh cho một hàm. Tham số đầu tiên cần truyền vào là ngữ cảnh, và các tham số tiếp theo là các tham số của hàm. Phương thức này trả về một hàm mới, bên trong đó this sẽ bằng với ngữ cảnh đã truyền.

Cú pháp

hàm.bind(ngữ cảnh, tham_số1, tham_số2...);

Ví dụ

Giả sử chúng ta có một phần tử nhập liệu:

<input id="elem" value="text">

Giả sử tham chiếu đến phần tử nhập liệu này được lưu trong biến elem:

let elem = document.querySelector('#elem');

Giả sử chúng ta cũng có hàm func sau:

function func(param1, param2) { console.log(this.value + param1 + param2); }

Hãy sử dụng bind để tạo một hàm mới, sẽ là bản sao của hàm func, nhưng this trong nó sẽ luôn bằng elem:

let newFunc = func.bind(elem);

Bây giờ trong biến newFunc chứa một hàm. Hãy gọi nó, truyền vào tham số đầu tiên là '1', và tham số thứ hai là '2':

newFunc('1', '2');

Hãy tổng hợp tất cả lại:

let elem = document.getElementById('elem'); function func(param1, param2) { console.log(this.value + param1 + param2); } let newFunc = func.bind(elem); newFunc('1', '2'); // sẽ in ra 'text12'

Ví dụ

Không nhất thiết phải lưu kết quả của bind vào một hàm mới newFunc, có thể đơn giản là ghi đè lên func:

func = func.bind(elem);

Xem thêm

  • phương thức call,
    gọi hàm với một ngữ cảnh
  • phương thức apply,
    gọi hàm với một ngữ cảnh
Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối