Taker: Zeiger-Verhalten bei Arrays

Beitrag lesen

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?