You are not logged in.

  • Login

Thursday, April 28th 2011, 9:12am

Tags

clone, clone object, deep copy, jQuery, object

Abstract

var kopie = $.extend(true, {}, objekt);

Article

Üblicherweise wird bei einer "kopie" eines Objektes (var neu = alt) nicht das Objekt kopiert, sondern ein Verweis zum alten Objekt erstellt.
Verändert sich nun "alt", so verändert sich "neu" gleichermaßen mit.
Um dies zu verhindern, muss man eine "tiefe Kopie" durchführen bzw. das alte Objekt klonen.

Mittels jQuery ist dies in JavaScript sehr leicht möglich:

JavaScript Code

1
2
3
var neu = alt; //wird nicht kopiert, sondern nur referenziert
var neu = $.extend({}, alt); //ist das gleiche wie oben
var neu = $.extend(true, {}, alt); //führt eine tiefe Kopie durch und löst die Objekte voneinander



Für mehr Informationen: jQuery Dokumentation

Lexikon 4.1.5, developed by www.viecode.com