Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie überprüfe ich, ob der Konstruktor eines Objekts ein JavaScript-Objekt ist?

WBOY
Freigeben: 2023-09-15 08:25:05
nach vorne
615 Leute haben es durchsucht

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

In diesem Artikel prüfen wir, ob der Konstruktor eines Objekts ein JavaScript-Objekt ist. Die Konstruktoreigenschaft einer beliebigen JavaScript-Variablen gibt einen Verweis auf den Object-Konstruktor zurück, der das Instanzobjekt erstellt hat. Der Wert dieser Eigenschaft ist ein Verweis auf die Funktion selbst.

Alle Objekte haben ein Konstruktorattribut, und Objekte, die ohne Konstruktor erstellt wurden, verfügen über ein Konstruktorattribut, das auf den Konstruktortyp dieses Basisobjekts verweist.

Um zu überprüfen, ob der Konstruktor des bereitgestellten Werts ein vom Objektkonstruktor erstelltes Objekt ist, müssen wir den Konstruktor-Eigenschaftswert des Objekts mit der entsprechenden Objektkonstruktorreferenz vergleichen. Die Eigenschaft „Konstruktor“ gibt einen Verweis auf den Konstruktor zurück, der die Instanz erstellt hat.

Syntax

Das Folgende ist die Funktionssyntax, um zu überprüfen, ob der Konstruktor eines Objekts ein Objekt ist

function check(obj) {
   return obj.constructor === Object ? true : false
}
Nach dem Login kopieren

Beispiel

Im folgenden Programm prüfen wir, ob der Konstruktor von sechs Objekten ein JavaScript-Objekt ist.

<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>
Nach dem Login kopieren

Wenn Sie auf die Schaltfläche „Prüfen“ klicken, werden alle Testfälle ausgeführt und die Ausgabe wird als wahr oder falsch angezeigt. Wie wir im obigen Code sehen können, wird das Ergebnis als wahr wiedergegeben, wenn das Objekt vom Objektkonstruktor erstellt wird, andernfalls wird es als falsch angezeigt. Im obigen Code ergeben die Testfälle 1, 3 und 4 „true“, da sie alle mit dem Objektkonstruktor erstellt wurden. Hier gibt die Eigenschaft des Objektkonstruktors in den Fällen 1, 3 und 4 einen Wert zurück, der dem Objekt entspricht.

Beispiel (Den Konstruktor eines Objekts finden)

Im folgenden Programm finden wir die Konstruktoren von vier verschiedenen Objekten, die mit unterschiedlichen Methoden erstellt wurden. Wir wenden die Eigenschaft „Object.constructor“ an, um den Konstruktor des Objekts zu finden.

<html>
<body>
   <h3> Find the Constructor of Objects</h3>
   <p id="demo"></p>
   <script>
      function Student(first, last, course) {
         this.firstName = first;
         this.lastName = last;
         this.course = course;
      }
      const stud1 = new Student("John", "Doe", "M.Tech");
      const stud2 = new Object();
      const stud3 = new Object;
      var stud4 = {
         firstName: "John",
         lastName: "Doe",
         course: "M.Tech"
      }
      document.getElementById("demo").innerHTML +=`Constructor of stud1: ${stud1.constructor} <br>`;
      document.getElementById("demo").innerHTML +=`<br>Constructor of stud2: ${stud2.constructor} <br>`;
      document.getElementById("demo").innerHTML +=`<br>Constructor of stud3: ${stud3.constructor} <br>`;
      document.getElementById("demo").innerHTML +=`<br>Constructor of stud4: ${stud4.constructor} <br>`;
   </script>
</body>
</html>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie überprüfe ich, ob der Konstruktor eines Objekts ein JavaScript-Objekt ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!