Rumah >hujung hadapan web >tutorial js >Mendedahkan kerja dalaman JavaScript ' s 'ini' kata kunci
adalah contoh utama. Walaupun JavaScript agak mudah dipelajari, tingkah laku this
boleh mengembara walaupun pengaturcara yang berpengalaman. Artikel ini menjelaskan kerumitan this
dalam JavaScript. this
Konsep Utama:
this
bagaimana fungsi dipanggil (konteks pelaksanaan), bukan di mana ia diisytiharkan. Ia menunjuk kepada "pemilik" fungsi yang sedang dilaksanakan.
this
Kawalan Konteks call()
secara jelas menguruskan nilai apply()
, memberikan kawalan halus ke atas tingkah lakunya. bind()
this
this
: this
, kita perlu mempertimbangkan: this
this
Apabila fungsi JavaScript dijalankan, konteks pelaksanaan baru dibuat. Konteks ini merangkumi maklumat mengenai penyerahan fungsi, termasuk nilai , yang terikat pada objek yang dipanggil fungsi (jika berkenaan).
this
Nilai ditentukan oleh tapak panggilan -di mana fungsi dipanggil, bukan di mana ia ditakrifkan. Konteks berubah dengan setiap panggilan fungsi baru.
this
di sini,
<code class="language-javascript">var car = { brand: "Nissan", getBrand: function(){ console.log(this.brand); } }; car.getBrand(); // Output: Nissan</code>di dalam
merujuk kepada this.brand
kerana getBrand()
dipanggil sebagai kaedah objek car.brand
. getBrand()
car
mari kita meneroka bagaimana
berkelakuan dalam pelbagai konteks:
this
dalam skop global (di luar mana -mana fungsi), biasanya merujuk kepada objek global (mis., dalam pelayar). this
Panggilan fungsi mudah: panggilan fungsi langsung tanpa konteks objek. Dalam mod bukan tegas, this
lalai ke objek global. Dalam mod ketat ("use strict";
adalah this
. undefined
: Apabila fungsi dipanggil sebagai kaedah objek, terikat pada objek itu. this
Fungsi Pembina: Apabila fungsi dipanggil dengan , ia menjadi pembina. new
terikat kepada contoh objek yang baru dibuat. this
memanipulasi : this
, call()
, dan apply()
menyediakan cara untuk menetapkan nilai bind()
: this
secara eksplisit
: call()
menyerahkan fungsi dengan nilai dan argumen yang ditentukan secara individu.
this
: Sama seperti apply()
, tetapi menerima argumen sebagai array.
call()
Ringkasan: bind()
this
Kata kunci
adalah penting untuk menulis kod JavaScript yang teguh dan bebas ralat. Penjelajahan lebih lanjut mengenai kes -kes kelebihan dan perangkap biasa akan diliputi dalam artikel masa depan.
Soalan Lazim (Soalan Lazim): this
call()
Seksyen Soalan Lazim dari teks asal sudah menjadi ringkasan komprehensif soalan dan jawapan yang berkaitan dengan apply()
, jadi lebih baik untuk mengekalkannya.
Atas ialah kandungan terperinci Mendedahkan kerja dalaman JavaScript ' s 'ini' kata kunci. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!