Robin: Kann man eindimensionale Arrays mit return übergeben?

Hi Leutz,

Genau das ist das problem... Leider sagt er wenn ich auf die var in der aufrufenden Instanz eine Ausgabe mache, das es dieses Array bzw. variable nich gibt :(

Falls ich da irgendwie falsch gedacht haben sollte wie könnte ich sonst mehrere Werte aus einer unteren Instanz an die obere übergeben, das Problem dabei ist auch noch das sich das Array dynamisch in der unteren Instanz bildet (es kann 2 - 5 byte-Werte beeinhalten).

Ich hoffe aber es gibt sowas sonst hab ich ein paar Stunden in den Sand geschoben.

CU, RobIn.

  1. Sup!

    Kann man nicht, aber man kann entweder von der aufrufenden Instanz eine Referenz auf ein schon definiertes Objekt des Typs Array übergeben, oder man kann (wahrscheinlich) eine Referenz auf ein Array-Objekt zurückgeben; dieses muß man dann aber in der "unteren" Instanz als nicht-lokal kreieren. Ich garantiere aber nicht, daß das sich alles umsetzen lässt, was ich so sage ;-)

    Gruesse,

    Bio

    --
    Ich bin ein Mobber - mein Posting tut mir leid! EHRLICH!!!
    sh:( fo:) ch:] rl:} br:> n4:& ie:{ mo:) va:) de:] zu:) fl:( ss:) ls:]
    1. Hallo,

      Kann man nicht,

      Warum nicht?

      <html>
      <head>
      <title></title>
      <script type="text/javascript">
      <!--
      function myarray() {
       var zz = new Array();
       for(var i = 0; i < 10; i++) {
        zz[i]=i+1;
       }
       return zz;
      }
      //-->
      </script>
      </head>
      <body>
      <script type="text/javascript">
      <!--
      alert(myarray());
      //-->
      </script>
      <noscript></noscript>
      </body>
      </html>

      viele Grüße

      Axel

      1. Sup!

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

        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.
        Ich widerspreche Dir also gar nicht ;-)

        Gruesse,

        Bio

        --
        Ich bin ein Mobber - mein Posting tut mir leid! EHRLICH!!!
        sh:( fo:) ch:] rl:} br:> n4:& ie:{ mo:) va:) de:] zu:) fl:( ss:) ls:]
        1. 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.

          1. Sup!

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

            Ich hab' ja gesagt, ich weiß nicht, ob das stimmt ;-)

            Gruesse,

            Bio

            --
            Ich bin ein Mobber - mein Posting tut mir leid! EHRLICH!!!
            sh:( fo:) ch:] rl:} br:> n4:& ie:{ mo:) va:) de:] zu:) fl:( ss:) ls:]