Struppi: Kann man eindimensionale Arrays mit return übergeben?

Beitrag lesen

Sup!

function myarray() {
var zz = new Array();
for(var i = 0; i < 10; i++) {
  zz[i]=i+1;
}
return zz;

Du hast hier eine Klammer unterschlagen.

Ich sagte doch: Wenn man in der Unterfunktion ein Array-Objekt nicht-lokal erzeugt, dann kann man die Referenz darauf wahrscheinlich zurückgeben. Und ich denke, das das Schluesselwort "var" für eine nicht-lokale Erzeugung des Objektes vom Typ Array sorgt.

Nein, es ist genau umgekehrt. Das var mmacht ein Variabel lokal.

function myarray()
{
   var zz = new Array();
   for(var i = 0; i < 10; i++) { zz[i]=i+1; }
   return zz;
}
function anotherFunc()
{
    var arr = myarray();
    alert(arr.length + "\n" + typeof zz);
}
anotherFunc();

Struppi.