Heim Web-Frontend js-Tutorial So ermitteln Sie, ob ein Objekt in Javascript vorhanden ist

So ermitteln Sie, ob ein Objekt in Javascript vorhanden ist

Sep 08, 2021 pm 06:19 PM
javascript 对象

Beurteilungsmethode: 1. Verwenden Sie die Anweisung „if(!Obj)“ 2. Verwenden Sie „if(!window.Obj)“; typeof Obj=="undefiniert"); 5. Verwenden Sie „if(Obj==undefiniert)“ und so weiter.

So ermitteln Sie, ob ein Objekt in Javascript vorhanden ist

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

Javascript-Methode zur Bestimmung, ob ein Objekt existiert

Jetzt müssen wir feststellen, ob ein globales Objekt myObj existiert. Wenn es nicht existiert, deklarieren Sie es. Der in natürlicher Sprache beschriebene Algorithmus lautet wie folgt:

  if (myObj不存在){
    声明myObj;
  }
Nach dem Login kopieren

Lassen Sie mich 10 Implementierungsmethoden vorstellen:

Methode 1:

  if (!myObj) {
    var myObj = { };
  }
Nach dem Login kopieren

Methode 2:

Zusätzlich zum Befehl var gibt es Durch erneutes Umschreiben können Sie auch das richtige Ergebnis erhalten:

  if (!window.myObj) {
    myObj = { };
  }
Nach dem Login kopieren

window ist das Objekt der obersten Ebene von JavaScript und alle globalen Variablen sind seine Eigenschaften. Daher ist die Bestimmung, ob myobj leer ist, gleichbedeutend mit der Bestimmung, ob das Fensterobjekt über das Attribut myobj verfügt, sodass ReferenceError-Fehler vermieden werden können, die auftreten, weil myObj nicht definiert ist. Aufgrund der Standardisierung des Codes ist es jedoch am besten, var zur zweiten Zeile hinzuzufügen:

  if (!window.myObj) {
    var myObj = { };
  }
Nach dem Login kopieren

oder es so zu schreiben:

  if (!window.myObj) {
    window.myObj = { };
  }
Nach dem Login kopieren

Methode 3:

Der Nachteil der oben genannten Schreibmethode besteht darin, dass in Einige Operationen In Umgebungen (z. B. V8, Rhino) ist das Fenster möglicherweise kein Objekt der obersten Ebene. Erwägen Sie daher, es wie folgt umzuschreiben:

  if (!this.myObj) {
    this.myObj = { };
  }
Nach dem Login kopieren

Auf der Ebene globaler Variablen verweist das Schlüsselwort this immer auf die Variable der obersten Ebene, sodass es von verschiedenen Betriebsumgebungen unabhängig sein kann.

Methode 4:

Die obige Schreibweise ist jedoch weniger lesbar und der Zeiger ist variabel und fehleranfällig. Daher wird er weiter umgeschrieben:

  var global = this;
  if (!global.myObj) {
    global.myObj = { };
  }
Nach dem Login kopieren

Verwenden Sie die benutzerdefinierte Variable global, um die Spitze darzustellen -Level-Objekt, es wird viel mehr klar sein.

Methode 5:

Sie können auch den Operator „typeof“ verwenden, um festzustellen, ob myObj definiert ist.

  if (typeof myObj == "undefined") {
    var myObj = { };
  }
Nach dem Login kopieren

Dies ist derzeit die am weitesten verbreitete Methode, um festzustellen, ob ein JavaScript-Objekt vorhanden ist.

Methode 6:

Da der Wert von myObj direkt undefiniert ist, wenn er definiert, aber nicht zugewiesen ist, kann die obige Schreibmethode vereinfacht werden:

  if (myObj == undefined) {
    var myObj = { };
  }
Nach dem Login kopieren

Hier gibt es zwei Stellen, auf die man achten sollte, erstens die zweite Zeile Das Schlüsselwort var darf nicht fehlen, da sonst ein ReferenceError auftritt. Zweitens können einfache Anführungszeichen oder doppelte Anführungszeichen nicht zu undefiniert hinzugefügt werden, da hier der Datentyp von undefiniert verglichen wird, nicht die Zeichenfolge „undefiniert“.

Methode 7:

Die obige Schreibmethode gilt auch im Fall eines „exakten Vergleichs“ (===):

  if (myObj === undefined) {
    var myObj = { };
  }
Nach dem Login kopieren

Methode 8:

Gemäß dem Sprachdesign von Javascript, undefiniert == nullDaher kann auch der Vergleich, ob myObj gleich null ist, das richtige Ergebnis erhalten:

  if (myObj == null) {
    var myObj = { };
  }
Nach dem Login kopieren

Obwohl das laufende Ergebnis semantisch korrekt ist, ist diese Beurteilungsmethode jedoch falsch und sollte vermieden werden. Denn null bezieht sich auf ein leeres Objekt, dem der Wert null zugewiesen wurde, das heißt, dieses Objekt hat tatsächlich einen Wert, während sich undefiniert auf ein Objekt bezieht, das nicht existiert oder dem kein Wert zugewiesen wurde. Daher kann hier nur der „Vergleichsoperator“ (==) verwendet werden. Wird hier der „exakte Vergleichsoperator“ (===) verwendet, tritt ein Fehler auf.

Methode 9:

Sie können auch den in-Operator verwenden, um zu bestimmen, ob myObj eine Eigenschaft des Objekts der obersten Ebene ist:

  if (!('myObj' in window)) {
    window.myObj = { };
  }
Nach dem Login kopieren

Methode 10:

Schließlich verwenden Sie die Methode hasOwnProperty, um zu bestimmen, ob myObj ist eine Eigenschaft des Objekts der obersten Ebene. Attribute:

  if (!this.hasOwnProperty('myObj')) {
    this.myObj = { };
  }
Nach dem Login kopieren

Zusammenfassung

1 Wenn Sie nur feststellen, ob das Objekt existiert, wird empfohlen, die fünfte Schreibweise zu verwenden.

2. Wenn Sie zusätzlich zur Existenz des Objekts auch feststellen müssen, ob das Objekt einen Nullwert hat, wird empfohlen, die erste Schreibweise zu verwenden.

3. Sofern keine besonderen Umstände vorliegen, sollten alle Variablen mit dem Befehl var deklariert werden.

4. Um plattformübergreifend zu sein, wird empfohlen, die Verwendung von Fenstern zur Darstellung von Objekten der obersten Ebene zu vermeiden.

5. In der Javascript-Sprache werden null und undefiniert leicht verwechselt. In Fällen, in denen beide beteiligt sein können, wird empfohlen, den Operator „exakter Vergleich“ (===) zu verwenden.

【Empfohlenes Lernen: Javascript-Tutorial für Fortgeschrittene

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob ein Objekt in Javascript vorhanden ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen Dec 17, 2023 pm 05:30 PM

WebSocket und JavaScript: Schlüsseltechnologien zur Realisierung von Echtzeit-Überwachungssystemen Einführung: Mit der rasanten Entwicklung der Internet-Technologie wurden Echtzeit-Überwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Eine der Schlüsseltechnologien zur Erzielung einer Echtzeitüberwachung ist die Kombination von WebSocket und JavaScript. In diesem Artikel wird die Anwendung von WebSocket und JavaScript in Echtzeitüberwachungssystemen vorgestellt, Codebeispiele gegeben und deren Implementierungsprinzipien ausführlich erläutert. 1. WebSocket-Technologie

Wie konvertiere ich ein MySQL-Abfrageergebnisarray in ein Objekt? Wie konvertiere ich ein MySQL-Abfrageergebnisarray in ein Objekt? Apr 29, 2024 pm 01:09 PM

So konvertieren Sie ein MySQL-Abfrageergebnis-Array in ein Objekt: Erstellen Sie ein leeres Objekt-Array. Durchlaufen Sie das resultierende Array und erstellen Sie für jede Zeile ein neues Objekt. Verwenden Sie eine foreach-Schleife, um die Schlüssel-Wert-Paare jeder Zeile den entsprechenden Eigenschaften des neuen Objekts zuzuweisen. Fügt dem Objektarray ein neues Objekt hinzu. Schließen Sie die Datenbankverbindung.

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Dec 17, 2023 pm 05:13 PM

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Einführung: Heutzutage ist die Genauigkeit von Wettervorhersagen für das tägliche Leben und die Entscheidungsfindung von großer Bedeutung. Mit der Weiterentwicklung der Technologie können wir genauere und zuverlässigere Wettervorhersagen liefern, indem wir Wetterdaten in Echtzeit erhalten. In diesem Artikel erfahren Sie, wie Sie mit JavaScript und WebSocket-Technologie ein effizientes Echtzeit-Wettervorhersagesystem aufbauen. In diesem Artikel wird der Implementierungsprozess anhand spezifischer Codebeispiele demonstriert. Wir

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Jan 05, 2024 pm 06:08 PM

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

Was ist der Unterschied zwischen Arrays und Objekten in PHP? Was ist der Unterschied zwischen Arrays und Objekten in PHP? Apr 29, 2024 pm 02:39 PM

In PHP ist ein Array eine geordnete Sequenz, und auf Elemente wird über einen Index zugegriffen. Ein Objekt ist eine Entität mit Eigenschaften und Methoden, die über das Schlüsselwort new erstellt werden. Der Array-Zugriff erfolgt über einen Index, der Objektzugriff über Eigenschaften/Methoden. Es werden Array-Werte und Objektreferenzen übergeben.

Was ist das Request-Objekt in PHP? Was ist das Request-Objekt in PHP? Feb 27, 2024 pm 09:06 PM

Das Request-Objekt in PHP ist ein Objekt, das zur Verarbeitung von HTTP-Anfragen verwendet wird, die vom Client an den Server gesendet werden. Über das Request-Objekt können wir die Anforderungsinformationen des Clients abrufen, z. B. die Anforderungsmethode, die Anforderungsheaderinformationen, die Anforderungsparameter usw., um die Anforderung zu verarbeiten und zu beantworten. In PHP können Sie globale Variablen wie $_REQUEST, $_GET, $_POST usw. verwenden, um angeforderte Informationen zu erhalten, aber diese Variablen sind keine Objekte, sondern Arrays. Um Anfrageinformationen flexibler und bequemer bearbeiten zu können, können Sie dies tun

Was muss ich beachten, wenn eine C++-Funktion ein Objekt zurückgibt? Was muss ich beachten, wenn eine C++-Funktion ein Objekt zurückgibt? Apr 19, 2024 pm 12:15 PM

In C++ sind drei Punkte zu beachten, wenn eine Funktion ein Objekt zurückgibt: Der Lebenszyklus des Objekts wird vom Aufrufer verwaltet, um Speicherlecks zu verhindern. Vermeiden Sie baumelnde Zeiger und stellen Sie sicher, dass das Objekt nach der Rückkehr der Funktion gültig bleibt, indem Sie dynamisch Speicher zuweisen oder das Objekt selbst zurückgeben. Der Compiler optimiert möglicherweise die Kopiegenerierung des zurückgegebenen Objekts, um die Leistung zu verbessern. Wenn das Objekt jedoch anhand der Wertesemantik übergeben wird, ist keine Kopiegenerierung erforderlich.

Wie geben PHP-Funktionen Objekte zurück? Wie geben PHP-Funktionen Objekte zurück? Apr 10, 2024 pm 03:18 PM

PHP-Funktionen können Daten in eine benutzerdefinierte Struktur einkapseln, indem sie ein Objekt mithilfe einer Return-Anweisung zurückgeben, gefolgt von einer Objektinstanz. Syntax: functionget_object():object{}. Dadurch können Objekte mit benutzerdefinierten Eigenschaften und Methoden erstellt und Daten in Form von Objekten verarbeitet werden.

See all articles