JavaScript. Подробное руководство, 6-е издание, стр. 405

<b>Date</b>

<b>Error</b>

<b>EvalError</b>

<b>Function</b>

<b>Global</b>

<b>JSON</b>

<b>Math</b>

<b>Number </b>

<b>Object</b>

<b>RangeError </b>

<b>ReferenceError</b>

<b>RegExp</b>

<b>String</b>

<b>SyntaxError</b>

<b>TypeError</b>

<b>URIError </b>

Справочные страницы с описанием методов и свойств классов отсортированы по их полным именам, включающим имена определяющих их классов. Например, чтобы найти метод replace() класса String, его следует искать как String. replace(), а не просто replace.

В базовом JavaScript определены некоторые глобальные функции и свойства, такие как

<b>eval()</b>
и
<b>NaN</b>
. Формально они являются свойствами глобального объекта. Однако у глобального объекта нет имени, поэтому в справочнике они перечислены по их неполным именам. Для удобства полный набор глобальных функций и свойств базового JavaScript объединен в специальную справочную статью «Global» (хотя объекта или класса с таким именем нет).

Справочник по базовому JavaScript

Arguments

arguments[]

массив аргументов функции

Синтаксис

<b>arguments</b>

Описание

Массив

<b>arguments[]</b>
определен только внутри тела функции, где он ссылается на объект
<b>Arguments</b>
этой функции. Данный объект имеет нумерованные свойства и представляет собой массив, содержащий все переданные функции аргументы. Идентификатор
<b>arguments</b>
- это, по существу, локальная переменная, автоматически объявляемая и инициализируемая внутри каждой функции. Она ссылается на объект
<b>Arguments</b>
только внутри тела функции и не определена в глобальном программном коде.

См. также

Arguments; глава 8

Arguments

аргументы и другие свойства функции (Object->Arguments)

Синтаксис

<b>arguments</b>

<b>arguments[n]</b>

Элементы

Объект

<b>Arguments</b>
определен только внутри тела функции. Хотя формально он не является массивом, у него есть нумерованные свойства, действующие как элементы массива, и свойство
<b>length</b>
, значение которого равно количеству элементов массива. Его элементами являются значения, переданные функции в качестве аргументов. Элемент 0 - это первый аргумент, элемент 1 - второй аргумент и т. д. Все значения, переданные в качестве аргументов, становятся элементами массива в объекте
<b>Arguments</b>
независимо от того, присвоены ли этим аргументам имена в объявлении функции.

Свойства

<b>callee</b>
-  Ссылка на выполняемую в данный момент функцию.

<b>length</b>
-  Количество аргументов, переданных функции, и количество элементов массива в объекте Arguments.

Описание

Когда вызывается функция, для нее создается объект

<b>Arguments</b>
, и локальная переменная
<b>arguments</b>
автоматически инициализируется ссылкой на объект
<b>Arguments</b>
. Основное назначение объекта
<b>Arguments</b>
- предоставить возможность определить, сколькo аргументов передано функции, и обратиться к неименованным аргументам. В дополнение к элементам массива и свойству
<b>length</b>
, у объекта
<b>Arguments</b>
имеется свойство
<b>callee</b>
, которое позволяет неименованной функции ссылаться на саму себя.

Для большинства задач объект

<b>Arguments</b>
можно рассматривать как массив с дополнительным свойством
<b>callee</b>
. Однако он не является экземпляром объекта
<b>Array</b>
, а свойство
<b>Arguments.length</b>
не обладает особым поведением, как свойство
<b>Array.length</b>
, и не может использоваться для изменения размера массива.

При выполнении сценария в нестрогом режиме объект

<b>Arguments</b>
имеет одну очень необычную особенность. Когда у функции есть именованные аргументы, элементы массива в объекте
<b>Arguments</b>
являются синонимами локальных переменных, содержащих аргументы функции. Объект
<b>Arguments</b>
и имена аргументов предоставляют два различных способа обращения к одной и той же переменной. Изменение значения аргумента с помощью имени аргумента изменяет значение, извлекаемое через объект
<b>Arguments</b>
, а изменение значения аргумента через объект Arguments изменяет значение, извлекаемое по имени аргумента.

См. также

Function; глава 8

Arguments.callee

(не доступно в строгом режиме)

функция, выполняемая в данный момент

Синтаксис

<b>arguments.callee</b>

Описание

<b>arguments.callee</b>
ссылается на функцию, выполняющуюся в данный момент. Данный синтаксис предоставляет неименованной функции возможность сослаться на себя. Это свойство определено только внутри тела функции.

Пример

<b>// Неименованный литерал функции использует свойство callee </b>

<b>// для ссылки на себя, чтобы произвести рекурсивный вызов </b>