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

Linda Hamilton
Lepaskan: 2024-10-26 10:14:30
asal
155 orang telah melayarinya

  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();
});
Salin selepas log masuk

"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;
});
Salin selepas log masuk

"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);
});
Salin selepas log masuk

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"
Salin selepas log masuk

"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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!