Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menghidupkan Objek JavaScript dengan Nama Kelas Dinamik?

Bagaimana untuk Menghidupkan Objek JavaScript dengan Nama Kelas Dinamik?

Barbara Streisand
Barbara Streisandasal
2024-10-22 13:59:02116semak imbas

How to Instantiate JavaScript Objects with Dynamic Class Names?

Mencipta Objek JavaScript dengan Nama Kelas Dinamik

Mencipta objek JavaScript secara dinamik menggunakan pembolehubah rentetan untuk mentakrifkan nama kelas memberikan cabaran yang unik. Mari kita analisa senario yang anda terangkan dan teroka penyelesaian yang berpotensi.

Dalam kod pseudo anda, anda cuba mentakrifkan kelas dengan nama pembolehubah MyClass, menyimpan nama kelas dalam rentetan pembolehubah classNameString dan membuat instantiate objek menggunakan rentetan itu sebagai nama kelas.

Pendekatan ini menghadapi batasan dalam mekanisme instantiasi objek JavaScript, yang memerlukan rujukan terus kepada fungsi pembina kelas. Memandangkan anda telah menyimpan nama kelas sebagai rentetan, anda tidak boleh mengakses pembina kelas secara terus.

Untuk menyelesaikan isu ini, anda boleh menggunakan pendekatan tidak langsung:

<code class="javascript">var myObject = window[classNameString];</code>

Dalam kod ini:

  • tetingkap ialah objek global dalam JavaScript, yang mempunyai sifat untuk setiap kelas yang ditentukan.
  • Notasi kurungan [] digunakan untuk mengakses sifat yang sepadan dengan classNameString.
  • Jika kelas dengan nama yang disimpan dalam classNameString wujud, kod tersebut akan mengambil semula dan menetapkannya kepada myObject.

Dengan menggunakan teknik ini, anda boleh membuat instantiate objek secara dinamik menggunakan pembolehubah rentetan untuk menentukan nama kelas. Ingat bahawa pendekatan ini menganggap bahawa kelas telah ditakrifkan dan boleh diakses melalui objek tetingkap global.

Atas ialah kandungan terperinci Bagaimana untuk Menghidupkan Objek JavaScript dengan Nama Kelas Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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