Свойство caller
Возвращает ссылку на функцию, которая вызвала текущую функцию.
function.caller
Аргументы
- функция
Обязательный. Имя объекта 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();
Результат выполнения этой программы следующий.
callLevel was called from the top level.
callLevel was called by:
function testCall() {
callLevel()
}
Требования
Применение:
Объект arguments| Объект Function