Oggetto Arguments

Oggetto che rappresenta la funzione attualmente in esecuzione, i relativi argomenti e la funzione che lo ha chiamato. Questo oggetto non può essere costruito in modo esplicito.

Proprietà

Proprietà dell'oggetto arguments

Metodi

L'oggetto arguments non dispone di alcun metodo.

Requisiti

Versione 1

Note

Ogni volta che inizia l'esecuzione di una funzione viene creata la relativa istanza dell'oggetto arguments. È possibile accedere all'oggetto arguments solo dall'ambito della funzione associata.

Tutti i parametri passati a una funzione e il relativo numero sono memorizzati nell'oggetto arguments. Benché l'oggetto arguments della funzione non sia una matrice, la modalità di accesso ai singoli argomenti è analoga a quella degli elementi di matrice e prevede l'utilizzo della notazione [ ].

È possibile utilizzare l'oggetto arguments per creare funzioni che possono accettare un numero arbitrario di argomenti. Questa funzionalità può anche essere ottenuta utilizzando la costruzione di matrici di parametri al momento della definizione della funzione. Per ulteriori informazioni, vedere l'argomento relativo all'istruzione function.

Nota

L'oggetto arguments non è disponibile durante l'esecuzione in modalità veloce, predefinita in JScript. Per compilare un programma dalla riga di comando in cui venga utilizzato l'oggetto arguments, è necessario disattivare la modalità veloce mediante il parametro /fast-. La disattivazione della modalità veloce in ASP.NET non costituisce una soluzione sicura a causa dei problemi relativi al threading.

Esempio

Nell'esempio seguente viene illustrato l'utilizzo dell'oggetto arguments:

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));

L'output del programma è il seguente:

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

Vedere anche

Riferimenti

Operatore new

Istruzione function

/fast