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:
- mengikat kontekstual: dalam JavaScript tidak ditakrifkan secara statik; Nilainya bergantung sepenuhnya pada
this
bagaimana fungsi dipanggil (konteks pelaksanaan), bukan di mana ia diisytiharkan. Ia menunjuk kepada "pemilik" fungsi yang sedang dilaksanakan. - Kelakuan berubah -ubah: Tingkah laku berbeza -beza dalam konteks yang berbeza: skop global, panggilan fungsi mudah, kaedah objek, dan fungsi pembina.
this
Kawalan Konteks - JavaScript menawarkan kaedah seperti , , dan
call()
secara jelas menguruskan nilaiapply()
, memberikan kawalan halus ke atas tingkah lakunya.bind()
this
perangkap biasa: - salah faham adalah sumber kesilapan yang kerap untuk kedua -dua pemula dan pakar.
this
: this
, kita perlu mempertimbangkan: this
this
- Penciptaan:
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
- Rujukan:
Nilai ditentukan oleh tapak panggilan -di mana fungsi dipanggil, bukan di mana ia ditakrifkan. Konteks berubah dengan setiap panggilan fungsi baru.
this
di sini,
var car = { brand: "Nissan", getBrand: function(){ console.log(this.brand); } }; car.getBrand(); // Output: Nissan
merujuk kepada this.brand
kerana getBrand()
dipanggil sebagai kaedah objek car.brand
. getBrand()
car
mari kita meneroka bagaimana
berkelakuan dalam pelbagai konteks:
this
- Skop global:
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";
adalahthis
.undefined
Kaedah objek -
: 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
3apply()
, tetapi menerima argumen sebagai array.call()
-
Ringkasan:
dalam JavaScript adalah kuat tetapi boleh mengelirukan. Memahami sifat kontekstual dan menggunakan kaedah sepertibind()
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Artikel membincangkan membuat, menerbitkan, dan mengekalkan perpustakaan JavaScript, memberi tumpuan kepada perancangan, pembangunan, ujian, dokumentasi, dan strategi promosi.

Artikel ini membincangkan strategi untuk mengoptimumkan prestasi JavaScript dalam pelayar, memberi tumpuan kepada mengurangkan masa pelaksanaan dan meminimumkan kesan pada kelajuan beban halaman.

Soalan dan penyelesaian yang sering ditanya untuk percetakan tiket kertas terma depan dalam pembangunan front-end, percetakan tiket adalah keperluan umum. Walau bagaimanapun, banyak pemaju sedang melaksanakan ...

Artikel ini membincangkan debugging JavaScript yang berkesan menggunakan alat pemaju pelayar, memberi tumpuan kepada menetapkan titik putus, menggunakan konsol, dan menganalisis prestasi.

Tidak ada gaji mutlak untuk pemaju Python dan JavaScript, bergantung kepada kemahiran dan keperluan industri. 1. Python boleh dibayar lebih banyak dalam sains data dan pembelajaran mesin. 2. JavaScript mempunyai permintaan yang besar dalam perkembangan depan dan stack penuh, dan gajinya juga cukup besar. 3. Faktor mempengaruhi termasuk pengalaman, lokasi geografi, saiz syarikat dan kemahiran khusus.

Artikel ini menerangkan cara menggunakan peta sumber untuk debug JavaScript minifikasi dengan memetakannya kembali ke kod asal. Ia membincangkan membolehkan peta sumber, menetapkan titik putus, dan menggunakan alat seperti Chrome Devtools dan Webpack.

Bagaimana cara menggabungkan elemen array dengan ID yang sama ke dalam satu objek dalam JavaScript? Semasa memproses data, kita sering menghadapi keperluan untuk mempunyai id yang sama ...

Perbincangan mendalam mengenai punca-punca utama perbezaan dalam output konsol.log. Artikel ini akan menganalisis perbezaan hasil output fungsi Console.log dalam sekeping kod dan menerangkan sebab -sebab di belakangnya. � ...
