Rumah > hujung hadapan web > tutorial js > Bagaimanakah 'ini' Berkelakuan Di Dalam Kaedah Kelas JavaScript?

Bagaimanakah 'ini' Berkelakuan Di Dalam Kaedah Kelas JavaScript?

Patricia Arquette
Lepaskan: 2024-12-21 16:36:11
asal
640 orang telah melayarinya

How Does

Memahami Gelagat "ini" dalam Kaedah Kelas dalam JavaScript

Dalam JavaScript, konsep "ini" adalah penting untuk memahami cara kaedah beroperasi dalam definisi kelas. Untuk menyelidiki topik ini, mari kita analisa pernyataan bahawa "ini" merujuk kepada kelas invoker dan bukannya objek yang dicipta apabila menggunakan kaedah kelas.

Corak Invocation dan "this" Binding

In JavaScript, terdapat empat cara berbeza untuk menggunakan fungsi, setiap satunya menentukan bagaimana "ini". terikat:

  1. Penggunaan Kaedah: Apabila fungsi dipanggil sebagai kaedah objek, "ini" terikat pada objek itu.
  2. Seruan Fungsi: Dalam seruan fungsi yang berdiri sendiri, "ini" terikat pada objek global (biasanya objek "tetingkap" dalam penyemak imbas).
  3. Seruan Pembina: Fungsi yang digunakan menggunakan kata kunci "baharu" dianggap sebagai seruan pembina. Dalam kes ini, "ini" terikat pada objek yang baru dibuat.

Memahami Contoh Anda

Dalam contoh kod anda, anda menyebut kaedah dalam definisi kelas yang mencipta beberapa objek menggunakan tatatanda literal objek. Dalam objek ini, penunjuk "ini" digunakan. Tingkah laku yang anda perhatikan mungkin berpunca daripada corak seruan kaedah onRender.

Jika kaedah onRender anda digunakan sebagai kaedah contoh kelas (seruan kaedah), "ini" akan merujuk kepada tika kelas, seperti adalah tingkah laku yang diingini. Walau bagaimanapun, jika onRender secara tidak sengaja digunakan sebagai fungsi (penggunaan fungsi) di luar konteks contoh kelas, "ini" akan mengikat objek global dan bukannya contoh kelas yang dimaksudkan. Ini mungkin membawa kepada tingkah laku yang tidak dijangka.

Sebab bagi Gelagat "ini"

Pengikatan "ini" pada objek atau fungsi invoker ialah aspek asas reka bentuk JavaScript. Ia membolehkan penciptaan kod dinamik dan fleksibel di mana konteks "ini" boleh dimanipulasi bergantung pada corak penyembahan.

Kesimpulan

Tingkah laku "ini" dalam kaedah kelas ialah hasil daripada corak seruan fungsi JavaScript. Dengan memahami cara "ini" terikat dalam pelbagai senario, anda boleh mengawal konteks kod anda beroperasi dan mengelakkan kemungkinan kekeliruan.

Atas ialah kandungan terperinci Bagaimanakah 'ini' Berkelakuan Di Dalam Kaedah Kelas JavaScript?. 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