Синтаксис JavaScript Справочник JavaScript Коды клавиш Строгий режим

JavaScript: arguments и this

Параметр arguments

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

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

function foo () {
  alert("Переданные аргументы: " + arguments[0] + ", " + arguments[1] +
        "\nВсего передано аргументов: " + arguments.length);
}

foo(5, 10);

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

Параметры функции инициализированные аргументами синхронизируются с соответствующими значениями объекта arguments. Не инициализированные параметры не синхронизируются со значениями объекта arguments:

function foo (n1, n2) {
  arguments[0] = 10;
  arguments[1] = 20;
  n2 = 30;
  alert("n1: " + n1 +
        "\nn2: " + n2 +
        "\narguments[0]: " + arguments[0] +
        "\narguments[1]: " + arguments[1] +
        "\nПередано аргументов: " + arguments.length);
}

foo(5);   // n1: 10
          // n2: 30
          // arguments[0]: 10
          // arguments[1]: 20
          // Передано аргументов: 1

Параметр this

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

function foo() {alert(this === window);}

foo();   // true
    
Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011-2016 © puzzleweb.ru

Реклама на сайте | Обратная связь