УСТАРЕВШИЕ СВОЙСТВА CALLER/CALLEE

Устаревшие свойства caller/callee

При написании или редактировании кода возникает ошибка «Использование arguments.callee устарело».

Причина

Свойства arguments.caller и arguments.callee устарели и не используются при написании кода.

Решение

Воспользуйтесь названными функциями вместо arguments.callee.

Пример кода с ошибкой Пример кода без ошибки
function foo(n) {
	if (n <= 0) {
		return;
	}
 
	arguments.callee(n - 1);
}
 
[1, 2, 3, 4, 5].map(function(n) {
	return !(n > 1) ? 1 : arguments.callee(n - 1) * n;
});
function foo(n) {
	if (n <= 0) {
		return;
	}
 
	foo(n - 1);
}
 
[1, 2, 3, 4, 5].map(function factorial(n) {
	return !(n > 1) ? 1 : factorial(n - 1) * n;
});
0
0
Оставьте свой отзыв:
ОТПРАВИТЬ