Was JavaScript angeht, habe ich beim Löschen eines Arrays zwei Methoden gefunden:
%Vor%vs
%Vor% Ich würde logisch vermuten, dass myArray.length = 0;
die Referenz behält, während myArray = newArray()
eine neue Referenz erstellt, die vorherige Referenzen ungültig macht.
Allerdings habe ich in der Vergangenheit festgestellt, dass JavaScript funktioniert, indem ich meine eigene Logik nutze, was regelmäßig nicht erfolgreich war:)
Was ist der Unterschied (wenn überhaupt) zwischen den beiden Methoden?
Sie haben dieses Mal Recht. new Array()
erstellt eine neue Instanz von array und weist sie myArray
zu.
myArray.length = 0
leert ein altes Array, während myArray immer noch auf das alte Array zeigt.
Übrigens ist es besser, []
notation als new Array()
zu verwenden.
Ich persönlich versuche immer myArray.length = 0;
zu verwenden, da es den Inhalt des Arrays tatsächlich leert.
Im Grunde wird ein Array mit Inhalt mit einem leeren Array überschrieben.
Sie können dies auch verwenden:
%Vor% Leistungsmäßig: []
ist schneller als new Array();
Wie juno bereits gesagt hat: new Array()
erstellt eine neue Instanz des Arrays (dieses Array hat die in Argumenten angegebene Größe) und weist es myArray zu.
Tags und Links javascript