JavaScript-Wissen: Überprüfen Sie, ob das leere Objekt gleich ist

8

Wahrscheinlich ein Duplikat von diese Frage .

Silly Javascript Frage: Ich möchte überprüfen, ob ein Objekt das empty Objekt ist.

Ich rufe leeres Objekt das Objekt auf, das aus der Verwendung des leeren Objektliterals resultiert, wie in:

%Vor%

Wie erwartet funktionieren weder == noch === , wie die beiden folgenden Anweisungen

%Vor%

geben Sie falsch.

Beispiele für Ausdrücke, die nicht für das leere Objekt auswerten:

  • 0
  • ""
  • {a:"b"}
  • []
  • new function(){}

Was ist der kürzeste Weg, um das leere Objekt auszuwerten?

    
flybywire 26.02.2010, 09:16
quelle

5 Antworten

15
%Vor%     
Li0liQ 26.02.2010, 09:23
quelle
9

Sie können auch Object.keys () verwenden um zu testen, ob ein Objekt "leer" ist:

%Vor%     
Jan Hančič 04.12.2013 11:29
quelle
1

Sie können diese Syntax verwenden

%Vor%

aber das funktioniert nicht in IE. Als Alternative zu der Methode "toSource ()" kann encode zu JSON der Ajax-Bibliotheken verwendet werden:

Zum Beispiel

%Vor%

jquery + jquery.json

    
starikovs 26.02.2010 12:25
quelle
0

Es gibt nicht wirklich einen kurzen Weg festzustellen, ob ein Objekt leer ist. Javascript erstellt ein Objekt und fügt intern constructor und prototype Eigenschaften von Object automatisch hinzu.

Sie können Ihre eigene isEmpty() -Methode wie folgt erstellen:

%Vor%

Wenn also ein Objekt eine Eigenschaft hat, dann ist das Objekt nicht leer, andernfalls true zurück.

    
Buhake Sindi 26.02.2010 09:25
quelle
-1
%Vor%

sagt

%Vor%

Vorbehalt! In acht nehmen! es kann falsche Positive geben!

%Vor%     
Ekim 20.04.2011 02:41
quelle

Tags und Links