Свойство caller
Обновлен: Ноябрь 2007
Возвращает ссылку на функцию, которая вызвала текущую функцию.
function.caller
Аргументы
- function
Обязательный. Имя объекта Function, выполняемого в данный момент.
Заметки
Свойство caller определяется для функции только при ее выполнении. Если функция вызывается из верхнего уровня программы JScript, свойство caller содержит значение null.
Если свойство caller используется в строковом контексте, результат совпадает со строкой functionName.toString, то есть отображается декомпилированный текст функции.
![]() |
---|
Свойство 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()
}
Требования
Применение:
Объект arguments| Объект "Function"