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

JavaScript: arguments и this

Параметр arguments

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

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

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

foo(5, 10);

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

Параметры функции не синхронизируются со значениями объекта arguments:

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

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

Параметр this

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

function foo() {
  console.log(this === undefined);
}

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

Реклама на сайте | puzinfo@puzzleweb.ru | ruen