Arguments.caller
Специфицирует имя функции, которая вызвала выполняемую в данный момент функцию.
Свойство из
JavaScript 1.1, NES 2.0
Не рекомендуется в JavaScript 1.3
Описание
caller больше не используется.
Свойство caller доступно только внутри тела функции.
Если выполняемая в данный момент функция была вызвана с верхнего уровня программы JavaScript, caller имеет значение null.
Ключевое слово this не ссылается на выполняемую в данный момент функцию, поэтому Вы обязаны обращаться к функциям и к объектам Function по имени, даже в теле функции.
Свойство caller это ссылка на вызывающую функцию, поэтому:
- Если Вы используете его в контексте строки, Вы получите результат вызова FunctionName.toString. То есть - декомпилированную каноническую исходную форму функции.
Примеры
Проверяется значение свойства caller функции:
Function myFunc() {
if (arguments.caller == null) {
return ("Функция была вызвана с верхнего уровня!")
} else return ("this Function's caller was " + arguments.caller)
}
См. также
.