Ik heb een probleem met JavaScript en dan met Array's. Voor mijn stack-based
parser gebruik ik 2 array's. 1 voor het analyseren en 1 om gegevens later weer
in de stack te plaatsen.
Ik kwam tot de conclusie dat JS zich soms vreemd gedraagt en ik kan niet nagaan
waarom. Neem het volgende versimpelde voorbeeld:
In de voorlaatste regel zet ik de varabele b[0]['foo'] op 11. In de laatste
regel alert ik de waarde: c[0]['foo']. Je zou verwachten dat die nog steeds
de waarde 10 heeft. Maar vreemd genoeg heeft die waarde 11.
Iemand enig idee? Of is dit een bug in JS?
parser gebruik ik 2 array's. 1 voor het analyseren en 1 om gegevens later weer
in de stack te plaatsen.
Ik kwam tot de conclusie dat JS zich soms vreemd gedraagt en ik kan niet nagaan
waarom. Neem het volgende versimpelde voorbeeld:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| <script> var a = new Array(); a[0] = new Array(); a[0]['foo'] = 10; var b = new Array(); b[0] = a[0] var c = new Array(); c[0] = a[0]; b[0]['foo'] = 11; alert(c[0]['foo']); </script> |
In de voorlaatste regel zet ik de varabele b[0]['foo'] op 11. In de laatste
regel alert ik de waarde: c[0]['foo']. Je zou verwachten dat die nog steeds
de waarde 10 heeft. Maar vreemd genoeg heeft die waarde 11.
Iemand enig idee? Of is dit een bug in JS?