Der Löschoperator wird in JavaScript nicht sehr häufig verwendet, aber seine Eigenschaften sind tatsächlich sehr seltsam.
1, löschen Sie die Attribute des Objekts, Code:
Löscht das Löschen also die Attribute oder Attributwerte des Objekts? Ich begann zu denken, dass das, was gelöscht wurde, der Wert sein sollte, weil das Ergebnis undefiniert war und kein Fehler gemeldet wurde. Aber tatsächlich ist meine Ansicht falsch, zum Beispiel:
Anhand des obigen Codes ist es nicht schwer zu erkennen, dass nach dem Löschen von o.c der Wert, auf den o.c zeigt, nicht gelöscht wird, d. h. Objekt a ist noch vorhanden, andernfalls sollte a.pro die Kompilierungsstufe nicht bestehen. Apropos, Sie können verstehen, dass Löschen die Attribute des Objekts löscht. Tatsächlich entspricht dies dem Löschen des Verweises auf den Attributwert im Objekt, aber dieser Wert befindet sich immer noch im Objektstapel!
2. Für Operationen an Arrays schauen Sie sich zuerst den Code an:
Es wurde erneut bewiesen, dass durch Löschen das Element nicht tatsächlich gelöscht wird, sondern nur der dem Element entsprechende Schlüsselwert. Um die Natur des Löschens besser zu verstehen, vergleichen Sie es mit der Pop-Methode in Array. Wie folgt:
Jetzt soll die Wahrheit ans Licht kommen.
3. Die oben genannten Operationen an Objekten und Arrays sind leicht zu verstehen, aber die Operation von Variablen ist zwangsläufig verwirrend. Der Code lautet wie folgt: