Поделиться через


Свойство caller

Обновлен: Ноябрь 2007

Возвращает ссылку на функцию, которая вызвала текущую функцию.

function.caller 

Аргументы

  • function
    Обязательный. Имя объекта Function, выполняемого в данный момент.

Заметки

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

Если свойство caller используется в строковом контексте, результат совпадает со строкой functionName.toString, то есть отображается декомпилированный текст функции.

b139f06d.alert_note(ru-ru,VS.90).gifПримечание.

Свойство caller недоступно при выполнении в быстром режиме, который используется в языке JScript по умолчанию. Чтобы выполнить компиляцию программы, в которой используется свойство caller, из командной строки, необходимо выключить быстрый режим с помощью параметра /fast-. Отключать параметр быстрого выполнения программ в ASP.NET небезопасно, поскольку могут возникнуть проблемы с многопоточным выполнением.

Пример

В следующем примере демонстрируется использование свойства caller.

function callLevel(){
   if (callLevel.caller == null)
      print("callLevel was called from the top level.");
   else {
      print("callLevel was called by:");
      print(callLevel.caller);
   }
}
function testCall() {
   callLevel()
}
// Call callLevel directly.
callLevel();
// Call callLevel indirectly.
testCall();

После компиляции этой программы с параметром /fast- будут выведены следующие данные:

callLevel was called from the top level.
callLevel was called by:
function testCall() {
   callLevel()
}

Требования

Версия 2

Применение:

Объект arguments| Объект "Function"

См. также

Ссылки

Оператор function