Hi,
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.
Es gibt keine expliziten „Zeiger“, aber Objekte werden immer per Referenz übergeben.
> In der Variable steht "geändert", was letztendlich ein Zeiger-Verhalten darstellt.
Ja - nur ohne, dass du als Programmierer explizit Zeiger anlegst.
> Wieso ist das so und bei "normalen" Variablen, wie z.B. vom Typ String, ist es nicht?
Objekte werden per Referenz übergeben, skalare Datentypen by value.
MfG ChrisB
--
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?