Unterschied zwischen prop in obj und obj.hasOwnProperty (prop) und obj [prop]?

7

Soll ich eins über das andere benutzen? Benutzt sie alle zusammen besser? Danke.

    
0x499602D2 28.09.2011, 02:34
quelle

2 Antworten

19
  • prop in obj überprüft, ob obj überhaupt eine Eigenschaft namens prop hat, auch wenn sie nur von einem Prototyp geerbt wurde.

  • obj.hasOwnProperty(prop) prüft, ob obj selbst eine Eigenschaft namens prop ; Es ignoriert Eigenschaften, die von Prototypen geerbt wurden.

  • obj[prop] ruft den Wert der Eigenschaft prop ab.

Verwenden Sie das, was für das, was Sie erreichen möchten, geeignet ist

Hinweis : In allen drei Fällen muss prop eine Zeichenfolge sein.

    
SLaks 28.09.2011, 02:36
quelle
1

Nur um ein Beispiel dafür zu geben:

%Vor%

bedeutet das nun:

%Vor%

druckt

%Vor%

Beachten Sie noch eine Sache: Wenn Hund "Beine" Eigenschaft von sagen wir 5 (hhmm gespenstisch ich weiß), so der "in" -Operator ("Beine" in Hund) hat beziehen sich auf die "Beine" -Eigenschaft, die erklärt wird in dem Hund Objekt und nicht die ererbte "Beine", die von Tierobjekt kommt. z.B.:

%Vor%

druckt

%Vor%     
Mercury 16.12.2015 15:58
quelle

Tags und Links