Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menyemak sama ada objek wujud dalam JavaScript?

Bagaimana untuk menyemak sama ada objek wujud dalam JavaScript?

王林
王林ke hadapan
2023-09-02 14:33:021329semak imbas

JavaScript 中如何检查对象是否存在?

Objek ini mengandungi sifat dan nilainya dalam JavaScript. Kita boleh mencipta objek menggunakan pendakap kerinting ({}). Ia serupa dengan pembolehubah, tetapi bukannya memberikan nombor, rentetan atau nilai boolean kepada pembolehubah, kami menetapkan nilai objek.

Jadi, dalam tutorial ini, kita akan belajar untuk menyemak sama ada objek wujud dalam JavaScript. Pendek kata, kita perlu belajar cara untuk menyemak sama ada pembolehubah objek wujud.

Gunakan kenyataan cuba tangkap

Biasanya, kami menggunakan pernyataan cuba-tangkap untuk mengendalikan ralat dalam JavaScript. Kita boleh cuba mengakses objek atau sifatnya dalam blok cuba dan jika program tidak menjumpai objek, ia akan membuang ralat dan pergi ke blok tangkapan tanpa melengkapkan pelaksanaan kod blok cuba.

Tatabahasa

Pengguna boleh menggunakan blok cuba-tangkap mengikut sintaks berikut untuk menyemak sama ada objek ditakrifkan.

try {
   let value = object.prop;
   // object is defined
} catch {
   // object is not defined
}

Kami sedang mengakses objek yang tidak ditentukan dalam blok cuba dalam sintaks di atas.

Contoh

Dalam contoh di bawah, kami telah menggunakan pernyataan cuba-tangkap. Dalam blok cuba, kami cuba mengakses sifat prop objek, yang tidak ditentukan.

Pengguna boleh memerhati dalam output bahawa kawalan pelaksanaan mencetak mesej daripada blok tangkapan, tetapi apabila mengakses objek yang tidak ditentukan ia tidak mencetak mesej daripada blok cuba, yang menimbulkan ralat.

<html>
<body>
   <h3>Using the <i>try-catch block</i> to check if the object is defined in JavaScript.</h2>
   <p id = "output"> </p>
   <script>
      let output = document.getElementById("output");
      try {
         let value = object.prop;
         output.innerHTML += "The object is successfully defined!"
      } catch {
         output.innerHTML += "The object is not defined!"
      }
   </script>
</body>
</html>

Gunakan jenis operator

Pembangun boleh menggunakan operator jenis untuk menyemak jenis pembolehubah. Di sini kita akan menyemak sama ada jenis pembolehubah adalah sama dengan "Objek" yang bermaksud objek itu wujud sebaliknya jika kita mendapat "tidak ditentukan" atau mana-mana jenis data lain ia bermakna pembolehubah itu bukan jenis objek.

Tatabahasa

Pengguna boleh menyemak sama ada objek wujud menggunakan operator jenis mengikut sintaks berikut.

let objType = typeof obj === ‘object’;

Dalam sintaks di atas, pengendali kesaksamaan yang ketat sepadan dengan nilai pulangan operator jenis dan rentetan "objek".

Contoh

Dalam contoh di bawah, kami mencipta objek obj. Apabila pengguna mengklik butang, ia memanggil fungsi isObjectDefined(). Dalam fungsi isObjectDefined(), kami menggunakan operator typeof untuk mendapatkan jenis pembolehubah obj dan menyimpannya dalam objType. Selepas itu, kami membandingkan nilai pembolehubah objType dengan "objek" untuk menyemak sama ada objek itu wujud.

<html>
<body>
   <h2>Using the <i>typeof</i> operator to check if the object is defined in JavaScript.</h2>
   <p id = "output"></p>
   <button onclick = "isObjectDefined()"> Check for Object </button>
   <script>
      let output = document.getElementById("output");
      let obj = {
         prop1: "hello",
         prop2: "Users!"
      }
      function isObjectDefined() {
         let objType = typeof obj;
         if (objType === "object") {
            output.innerHTML += "The code contains the object!"
         } else {
            output.innerHTML += "The code doesn't contain the object!"
         }
      }
   </script>
</body>
</html>

Gunakan pernyataan if-else

Seperti yang kita sedia maklum, kita boleh memberikan syarat kepada kenyataan if. Pembolehubah atau objek itu sendiri mewakili nilai Boolean. Apabila pembolehubah wujud dan mengandungi nilai selain daripada "null", ia sememangnya nilai Boolean sebaliknya, ia adalah nilai Boolean palsu. Apabila kita menggunakan nilai boolean palsu sebagai syarat untuk pernyataan if, kawalan sentiasa pergi ke blok else.

Tatabahasa

Pengguna boleh menggunakan pernyataan if-else mengikut sintaks berikut untuk menyemak sama ada objek wujud.

if (object) {
   // object exists
} else {
   // object doesn’t exist.
}

Dalam sintaks di atas, objek ialah pembolehubah yang mengandungi objek.

Contoh

Dalam contoh di bawah, kami telah mencipta objek telefon yang mengandungi beberapa sifat dan nilai sebagai pasangan nilai kunci. Selepas itu, kami menggunakan pernyataan if-else untuk menyemak sama ada objek telefon wujud dalam kod.

Pengguna boleh melihat bahawa kawalan pergi ke output blok if apabila objek telefon wujud.

<html>
<body>
   <h2>Using the <i>if-else</i> statement to check if the object is defined in JavaScript.</h2>
   <p id = "output"> </p>
   <script>
      let output = document.getElementById("output");
      let phone = {
         "color": "blue",
         "RAM": "8GB",
         "ROM": "128GB"
      }
      if (phone) {
         output.innerHTML += "The phone object defined in the code!"
      } else {
         output.innerHTML += "The phone object isn't defined in the code!"
      }
   </script>
</body>
</html>

Pengguna mempelajari tiga cara untuk menyemak sama ada objek wujud. Pengguna boleh menggunakan apa-apa kaedah mengikut keperluan mereka. Jika mereka juga perlu menangkap ralat lain, mereka boleh menggunakan blok cuba-tangkap jika tidak, mereka menggunakan pernyataan if-else biasa dan bukannya operator jenis.

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

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam