Вход/Регистрация
JavaScript. Подробное руководство, 6-е издание
вернуться

Флэнаган Дэвид

Шрифт:

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

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

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

Arguments

arguments[]

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

Синтаксис

arguments

Описание

Массив

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

См. также

Arguments; глава 8

Arguments

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

Синтаксис

arguments

arguments[n]

Элементы

Объект

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

Свойства

callee
– Ссылка на выполняемую в данный момент функцию.

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

Описание

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

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

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

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

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

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

См. также

Function; глава 8

Arguments.callee

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

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

Синтаксис

arguments.callee

Описание

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

Пример

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

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

var factorial = function(x) {

if (x < 2) return 1; else return x * arguments.callee(x1);

}

var у = factorial(5); // Вернет 120

Arguments.length

число аргументов, переданных функции

Синтаксис

arguments.length

Описание

Свойство

length
объекта
Arguments
возвращает количество аргументов, переданных текущей функции. Это свойство определено только внутри тела функции.

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

Function.length
. Кроме того, следует отметить, что это свойство не обладает особым поведением, как свойство
Array.length
.

  • Читать дальше
  • 1
  • ...
  • 470
  • 471
  • 472
  • 473
  • 474
  • 475
  • 476
  • 477
  • 478
  • 479
  • 480
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: