Клиентский JavaScript. Справочник

         

Описание


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

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

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

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

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

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



Содержание раздела