Bagaimana untuk menyemak sama ada pembina objek ialah objek JavaScript?

WBOY
Lepaskan: 2023-09-15 08:25:05
ke hadapan
615 orang telah melayarinya

如何检查对象的构造函数是否是 JavaScript 对象?

Dalam artikel ini, kami akan menyemak sama ada pembina objek ialah objek JavaScript. Sifat pembina mana-mana pembolehubah JavaScript mengembalikan rujukan kepada pembina Object yang mencipta objek contoh. Nilai sifat ini adalah rujukan kepada fungsi itu sendiri.

Semua objek mempunyai atribut pembina, dan objek yang dicipta tanpa pembina akan mempunyai atribut pembina yang menunjuk kepada jenis pembina objek asas tersebut.

Untuk menyemak sama ada pembina nilai yang disediakan ialah objek yang dicipta oleh pembina objek, kita perlu membandingkan nilai sifat pembina objek dengan rujukan pembina objek yang sepadan. Harta pembina mengembalikan rujukan kepada pembina yang mencipta contoh.

Syntax

Berikut ialah sintaks fungsi untuk menyemak sama ada pembina objek ialah Objek

function check(obj) {
   return obj.constructor === Object ? true : false
}
Salin selepas log masuk

Contoh

Dalam atur cara berikut, kami menyemak sama ada pembina enam objek ialah objek JavaScript.

<html>
<body>
   <h3 >Check if Constructor is Object</h3>
   <p> Click on the check button all test cases </p>
   <p>Test Case 1: {} </p>
   <p>Constructor is Object:
      <span id="testcase1"> </span> </p>
   <p>Test Case 2: new Number(3)</p>
   <p>Constructor is Object:
      <span id="testcase2"> </span> </p>
   <p>Test Case 3: new Object </p>
   <p>Constructor is Object:
      <span id="testcase3"> </span> </p>
   <p>Test Case 4: new Object() </p>
   <p>Constructor is Object:
      <span id="testcase4"> </span> </p>
   <p> Test Case 5: [] </p>
   <p>Constructor is Object:
      <span id="testcase5"> </span> </p>
   <p>Test Case 6: "Object Constructor" </p>
   <p>Constructor is Object:
      <span id="testcase6"> </span> </p>
   <button onclick="runTestCases()"> Check </button>
   <script>

      // This function will check if created by Object constructor
      function check(obj) {
         return obj.constructor === Object ? true : false
      }
      function runTestCases() {
         document.getElementById("testcase1").textContent =
            check({});
         document.getElementById("testcase2").textContent =
            check(new Number(3));

         document.getElementById("testcase3").textContent =
            check(new Object);

         document.getElementById("testcase4").textContent =
            check(new Object());

         document.getElementById("testcase5").textContent =
            check([]);

         document.getElementById("testcase6").textContent =
            check("Object Conctructor");
      }
   </script>
</body>
</html>
Salin selepas log masuk

Apabila anda mengklik pada butang "Semak", ​​semua kes ujian akan berjalan dan menunjukkan output sebagai benar atau palsu. Seperti yang kita lihat dalam kod di atas, jika objek dicipta oleh pembina objek, hasilnya akan ditunjukkan sebagai benar, jika tidak ia akan dipaparkan sebagai palsu. Dalam kod di atas, kes ujian 1, 3, dan 4 menghasilkan benar kerana semuanya dibuat menggunakan pembina objek. Di sini, sifat pembina objek mengembalikan nilai yang sama dengan objek dalam kes 1, 3, dan 4.

Contoh (Cari pembina objek)

Dalam atur cara di bawah, kita dapati pembina empat objek berbeza yang dicipta menggunakan kaedah berbeza. Kami menggunakan sifat Object.constructor untuk mencari pembina objek.

rreeee

Atas ialah kandungan terperinci Bagaimana untuk menyemak sama ada pembina objek ialah objek JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!