Объект arguments
Обновлен: Ноябрь 2007
Объект, представляющий выполняемую в данный момент функцию, ее аргументы, и функцию, которая вызвала ее. Данный объект не может быть создан явным образом.
Свойства
Методы
Объект arguments не имеет методов.
Требования
Заметки
Экземпляр объекта arguments создается для каждой функции, когда начинается ее выполнение. Объект arguments допускает прямой доступ только внутри области связанной с ним функции.
Все параметры, переданные функции, и их число хранятся в объекте arguments. Объект arguments не является массивом, однако доступ к отдельным аргументам осуществляется тем же способом, каким обращаются к элементам массива: с помощью нотации [ ].
Можно использовать объект arguments для создания функций, которые могут принимать произвольное количество аргументов. Эту функциональную возможность можно получить с помощью создания массива параметров при определении функции. Дополнительные сведения см. в разделе об операторе function.
Примечание. |
---|
Объект arguments недоступен при работе в быстром режиме, который используется в языке Jscript по умолчанию. Чтобы выполнить компиляцию программы, в которой используется объект arguments, из командной строки, необходимо выключить быстрый режим с помощью параметра /fast-. Отключать параметр быстрого выполнения программ в ASP.NET небезопасно, поскольку могут возникнуть проблемы с многопоточным выполнением. |
Пример
В следующем примере показано, как используется объект 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));
После выполнения этой программы выводится следующий результат:
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