Поделиться через


Объект arguments

Обновлен: Ноябрь 2007

Объект, представляющий выполняемую в данный момент функцию, ее аргументы, и функцию, которая вызвала ее. Данный объект не может быть создан явным образом.

Свойства

Свойства объекта arguments

Методы

Объект arguments не имеет методов.

Требования

Версия 1

Заметки

Экземпляр объекта arguments создается для каждой функции, когда начинается ее выполнение. Объект arguments допускает прямой доступ только внутри области связанной с ним функции.

Все параметры, переданные функции, и их число хранятся в объекте arguments. Объект arguments не является массивом, однако доступ к отдельным аргументам осуществляется тем же способом, каким обращаются к элементам массива: с помощью нотации [ ].

Можно использовать объект arguments для создания функций, которые могут принимать произвольное количество аргументов. Эту функциональную возможность можно получить с помощью создания массива параметров при определении функции. Дополнительные сведения см. в разделе об операторе function.

2b36h1wa.alert_note(ru-ru,VS.90).gifПримечание.

Объект 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

См. также

Ссылки

Оператор new

Оператор function

/fast