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:
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?
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?