Рассмотрим этот фрагмент кода
var crazy = function() {
console.log(this);
console.log(this.isCrazy); // wrong.
}
crazy.isCrazy = 'totally';
crazy();
// ouput =>
// DOMWindow
// undefined
Изнутри crazy() 'this' относится к окну, которое, я думаю, имеет смысл, потому что обычно вам нужно, чтобы это ссылалось на объект, к которому привязана функция, но как я могу заставить функцию ссылаться на себя, и получить доступ к набору свойств по себе?
Ответ:
Не используйте arguments.callee, просто используйте именованную функцию.
"Примечание. Вам следует избегать использования arguments.callee() и просто дать каждой функции (выражение) имя." через статья MDN на arguments.callee