Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.
Toon posts:

[JavaScript] Probleem met kopieren variabelen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi

ik zit met een gek Javascript probleem. Ik maak een object aan een geef deze een aantal variabelen. In een functie maak ik een kopie van dit object en geef een van de variabelen een andere waarde. Je zou dan veronderstellen dat de waardes van het oorspronkelijke object niet veranderen.. en toch is dit het geval:

code:
1
2
3
4
5
6
7
8
9
<script type="text/javascript">
var list = {naam = 'Piet', adres = 'Bla'};
function doTest() {
    var copy = list;
    copy.naam = 'Jan';
    alert(copy.naam);
    alert(list.naam);
}
</script>


de eerste alert laat 'Jan' zien. Normaal verwacht ik in de 2e alert 'Piet' te zien maar toch krijg ik ook hier 'Jan' te zien. Kan iemand me uitleggen waarom?

  • Juup
  • Registratie: Februari 2000
  • Niet online
Je kopieert een referentie naar de hash, dat is dus geen deepcopy.

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


Verwijderd

Topicstarter
Juup schreef op zondag 05 oktober 2008 @ 21:04:
Je kopieert een referentie naar de hash, dat is dus geen deepcopy.
Hoe kan ik zo'n deepcopy maken?

[ Voor 9% gewijzigd door Verwijderd op 05-10-2008 21:05 ]


  • Juup
  • Registratie: Februari 2000
  • Niet online
Daar heeft javascript zelf geen functionaliteit voor. Dat moet je dus zelf doen met een recursieve functie bv.

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


Verwijderd

Topicstarter
Juup schreef op zondag 05 oktober 2008 @ 21:06:
Daar heeft javascript zelf geen functionaliteit voor. Dat moet je dus zelf doen met een recursieve functie bv.
Gelukkig gebruik ik het prototype js framework... deze heeft een Object.clone(); method... thx