18c0693f

Arguments.caller


Специфицирует имя функции, которая вызвала выполняемую в данный момент функцию.

Свойство из Реализовано в

JavaScript 1.1, NES 2.0

Не рекомендуется в JavaScript 1.3

Описание

caller больше не используется.

Свойство caller доступно только внутри тела функции.

Если выполняемая в данный момент функция была вызвана с верхнего уровня программы JavaScript, caller имеет значение null.

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

Свойство caller это ссылка на вызывающую функцию, поэтому:

  • Вы можете также использовать вызывающую функцию, если знаете, какие аргументы ей могут понадобиться. Таким образом, вызываемая функция может вызвать вызвавшую её функцию без знания имени конкретного вызывающего, предполагая, что она знает, что все её вызыватели имеют ту же форму и построение и что они не будут вызывать вызванную функцию ещё раз безусловно (что может привести к бесконечному зацикливанию).

  • Примеры

    Проверяется значение свойства caller функции:

    Function myFunc() {

       if (arguments.caller == null) {

          return ("Функция была вызвана с верхнего уровня!")

       } else return ("this Function's caller was " + arguments.caller)

    }


    См. также

    .





    Все публикации раздела