Собака порылась в этой строке
animalFeed();
должно быть
animalFeed.apply(this, arguments)
Картинка в общем виде такая: если взять любую переменную, содержащую ссылку на на функцию. Ниже переменная f
для примера и как в нее может попасть ссылка на функцию
function f() {}
var f = function () {}
var f = window.someFunctionName
var f = this.someFunctionName
и вызывать эту функцию f
, то this
при вызове функции всегда будет window
(за исключением тех функций для которых this
был зафиксирован с помощью метода .bind
).
В твоем коде this
при вызве animalFeed
не ссылался на инстанс класса Cat
.
Думаю у тебя появится еще вопрос почему не работает dailyNorm
. Оформи отдельным вопросом, пожалуйста.