Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah \"ini\" Berfungsi dalam jQuery dan Apakah Cara Berbeza untuk Menggunakannya?

Bagaimanakah \"ini\" Berfungsi dalam jQuery dan Apakah Cara Berbeza untuk Menggunakannya?

Linda Hamilton
Linda Hamiltonasal
2024-10-26 10:14:30156semak imbas

  How Does

Memahami Maksud dan Penggunaan "ini" dalam jQuery

Kata kunci "ini" dalam JavaScript ialah konsep berkuasa yang membolehkan fleksibel pengaturcaraan berorientasikan objek. Dalam jQuery, "ini" sering digunakan untuk merujuk kepada elemen DOM yang berfungsi sebagai sasaran panggilan fungsi tertentu, seperti dalam panggilan balik acara.

"ini" dalam Panggilan Balik Acara jQuery

Dalam panggilan balik acara jQuery, "ini" biasanya mewakili elemen DOM yang mencetuskan acara. Ini membolehkan anda memanipulasi atribut elemen dengan mudah, seperti menetapkan gayanya atau menyembunyikannya:

$("div").click(function() {
    this.style.color = "red";
    $(this).hide();
});

"ini" dalam Fungsi jQuery

Pelbagai fungsi jQuery yang lelaran ke atas elemen DOM juga menerima fungsi sebagai hujah. Dalam fungsi ini, "ini" sekali lagi mewakili elemen DOM semasa. Sebagai contoh, fungsi "html()" membolehkan anda menetapkan kandungan setiap elemen padanan:

$("#foo div").html(function() {
    return this.className;
});

"ini" dalam Kaedah ".each()" jQuery

Kaedah ".each()" pada jQuery membolehkan gelung melalui tatasusunan elemen. Dalam fungsi panggil balik yang diberikan kepada ".each()", "this" merujuk kepada elemen semasa dalam tatasusunan:

jQuery.each(["one", "two", "three"], function() {
    alert(this);
});

Memahami "ini" Secara umum dalam JavaScript

Secara umum, "ini" dalam JavaScript merujuk kepada objek yang dipanggil menentang sesuatu fungsi. Ia ditentukan oleh konteks di mana fungsi itu digunakan, bukan di tempat ia ditakrifkan.

Lazimnya, "ini" ditetapkan dengan memanggil fungsi sebagai sifat objek:

var obj = {
    firstName: "Fred",
    foo: function() {
        alert(this.firstName);
    }
};
obj.foo(); // alerts "Fred"

"ini" dan Mod Ketat

Dalam mod ketat ES5, "ini" boleh mempunyai sebarang nilai, bukan sekadar objek. Jika "ini" tidak ditetapkan secara eksplisit, ia lalai kepada objek global (iaitu objek "tetingkap" dalam penyemak imbas).

Kaedah Tambahan untuk Menetapkan "ini"

Dalam JavaScript, terdapat dua kaedah lain untuk menetapkan nilai "ini":

  • .call(): Menetapkan "ini" kepada hujah pertama, menghantar mana-mana baki argumen kepada fungsi.
  • .apply(): Serupa dengan ".call()", tetapi menerima argumen sebagai tatasusunan.

Dalam Mod Longgar lwn Mod Ketat

Tingkah laku "ini" berbeza antara mod longgar dan mod ketat. Dalam mod longgar, jika "ini" tidak ditetapkan secara eksplisit, ia lalai kepada objek global. Dalam mod ketat, "ini" boleh mempunyai sebarang nilai dan tidak menetapkannya secara eksplisit akan mengakibatkan "tidak ditentukan".

Atas ialah kandungan terperinci Bagaimanakah \"ini\" Berfungsi dalam jQuery dan Apakah Cara Berbeza untuk Menggunakannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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