Hi Leute,
ich musste heute etwas komisches feststellen bei der Übergabe eines Arrays an eine Funktion.
Zur besseren Veranschaulichung hier ein Beipiel:
function test( v ) {
v[0] = 'geändert';
}
var a = [];
a[0] = 'nicht geändert';
test( a );
alert( a );
Da es keine Zeiger in Javascript gibt, dürfte, wenn man Variable "a" ausgibt, "nicht geändert" kommen, aber dem ist nicht so. In der Variable steht "geändert", was letztendlich ein Zeiger-Verhalten darstellt.
Wieso ist das so und bei "normalen" Variablen, wie z.B. vom Typ String, ist es nicht?