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