Freigeben über


arguments-Objekt

Aktualisiert: November 2007

Ein Objekt, das die gegenwärtig ausgeführte Funktion, ihre Argumente sowie die Funktion darstellt, die das Objekt aufgerufen hat. Dieses Objekt kann nicht explizit erstellt werden.

Eigenschaften

Eigenschaften des arguments-Objekts

Methoden

Das arguments-Objekt verfügt über keine Methoden.

Anforderungen

Version 1

Hinweise

Für jede gestartete Funktion wird ein arguments-Objekt instanziiert. Auf das arguments-Objekt kann nur innerhalb des Bereichs der zugehörigen Funktion direkt zugegriffen werden.

Alle an eine Funktion übergebenen Parameter sowie die Anzahl der Parameter werden im arguments-Objekt gespeichert. Das arguments-Objekt ist kein Array, auf die einzelnen Argumente kann jedoch mithilfe der Notation mit eckigen Klammern [ ] wie auf Arrayelemente zugegriffen werden.

Sie können das arguments-Objekt verwenden, um Funktionen zu erstellen, die eine beliebige Anzahl von Argumenten akzeptieren. Diese Funktionalität kann auch erzielt werden, indem beim Definieren der Funktion die Parameterarraykonstruktion verwendet wird. Weitere Informationen hierzu finden Sie unter dem Thema function-Anweisung.

Hinweis:

Das arguments-Objekt ist im schnellen Modus, dem Standardmodus für JScript, nicht verfügbar. Um ein Programm, das das arguments-Objekt verwendet, von der Befehlszeile aus zu kompilieren, müssen Sie den schnellen Modus mit /fast- deaktivieren. Das Deaktivieren des schnellen Modus in ASP.NET stellt aufgrund von Threadingproblemen einen Unsicherheitsfaktor dar.

Beispiel

Das folgende Beispiel veranschaulicht die Verwendung des arguments-Objekts.

function argTest(a, b) : String {
   var i : int;
   var s : String = "The argTest function expected ";
   var numargs : int = arguments.length; // Get number of arguments passed.
   var expargs : int = argTest.length;   // Get number of arguments expected.
   if (expargs < 2)
      s += expargs + " argument. ";
   else
      s += expargs + " arguments. ";
   if (numargs < 2)
      s += numargs + " was passed.";
   else
      s += numargs + " were passed.";
   s += "\n"
   for (i =0 ; i < numargs; i++){        // Get argument contents.
      s += "  Arg " + i + " = " + arguments[i] + "\n";
   }
   return(s);                            // Return list of arguments.
}

print(argTest(42));
print(argTest(new Date(1999,8,7),"Sam",Math.PI));

Ausgabe dieses Programms:

The argTest function expected 2 arguments. 1 was passed.
  Arg 0 = 42

The argTest function expected 2 arguments. 3 were passed.
  Arg 0 = Tue Sep 7 00:00:00 PDT 1999
  Arg 1 = Sam
  Arg 2 = 3.141592653589793

Siehe auch

Referenz

new-Operator

function-Anweisung

/fast