Rumah > hujung hadapan web > tutorial js > Bilakah Anda Harus Menggunakan Kaedah bind() JavaScript?

Bilakah Anda Harus Menggunakan Kaedah bind() JavaScript?

Linda Hamilton
Lepaskan: 2024-11-30 18:44:18
asal
780 orang telah melayarinya

When Should You Use JavaScript's bind() Method?

Kaedah Javascript bind()

Semasa call() dan apply() digunakan untuk memanggil fungsi dengan konteks tertentu dengan menghantar secara manual atau menyediakan argumen sebagai tatasusunan, kaedah bind() mempunyai tujuan yang berbeza.

Bila Penggunaan bind()

Kaedah bind() harus digunakan apabila anda perlu mencipta fungsi baharu dengan konteks yang dipratentukan untuk pemanggilan kemudian. Ini amat berguna dalam pengendalian acara dan panggil balik tak segerak.

Perbandingan dengan call() dan apply()

Tidak seperti call() dan apply() yang segera melaksanakan function, bind() mengembalikan fungsi baharu. Fungsi baharu ini, apabila dilaksanakan, akan mempunyai konteks fungsi asal yang ditetapkan kepada objek terikat.

Pertimbangkan contoh berikut:

var obj = {
  x: 81,
  getX: function() {
    return this.x;
  }
};

// Bind the function to the object 'obj'
var boundGetX = obj.getX.bind(obj);

// Later, invoke the bound function with the desired context
alert(boundGetX());
Salin selepas log masuk

Dalam senario ini, fungsi boundGetX mengekalkan konteks objek obj, walaupun apabila dipanggil secara tak segerak atau dalam a panggil balik.

Penggunaan dalam Pengendalian Acara

Apabila mengendalikan acara, adalah perkara biasa untuk mengekalkan konteks objek tertentu. Menggunakan bind(), anda boleh memastikan bahawa pengendali acara mempunyai konteks yang betul apabila dilaksanakan.

function MyObject(element) {
    this.elm = element;

    element.addEventListener('click', this.onClick.bind(this), false);
};

MyObject.prototype.onClick = function(e) {
     // 'this' refers to the MyObject instance
    // Perform some action...
};
Salin selepas log masuk

Dengan mengikat fungsi onClick pada contoh MyObject, anda menjamin bahawa apabila peristiwa klik berlaku, kata kunci ini dalam pengendali acara akan merujuk contoh MyObject.

Pelaksanaan Butiran

Pelaksanaan bind() yang dipermudahkan mungkin kelihatan seperti ini:

Function.prototype.bind = function(ctx) {
    var fn = this;
    return function() {
        fn.apply(ctx, arguments);
    };
};
Salin selepas log masuk

Atas ialah kandungan terperinci Bilakah Anda Harus Menggunakan Kaedah bind() JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan