Книга: JavaScript. Подробное руководство, 6-е издание

8.3.2.1. Свойства callee и caller

8.3.2.1. Свойства callee и caller

Помимо элементов своего массива объект Arguments определяет свойства callee и caller. При попытке изменить значения этих свойств в строгом режиме ECMAScript 5 гарантированно возбуждается исключение ТуреЕrror. Однако в нестрогом режиме стандарт ECMAScript утверждает, что свойство callee ссылается на выполняемую в данный момент функцию. Свойство caller не является стандартным, но оно присутствует во многих реализациях и ссылается на функцию, вызвавшую текущую. Свойство caller можно использовать для доступа к стеку вызовов, а свойство callee особенно удобно использовать для рекурсивного вызова неименованных функций:

var factorial = function(x) {
  if (x <= 1) return 1; return x * arguments.callee(x-1);
};

Оглавление книги

Оглавление статьи/книги

Генерация: 1.220. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз