Задача на объекты
Дайте отзыв по моему решению задачи на Объекты и методы (this). Что нужно исправить или усовершенствовать?
Попробуйте создать новый объект кошки со свойствами и добавьте два несколько методов:
метод сна (кошка спит, если сыта)
метод кушать (метод принимаем параметр количество каллорий еды)
после каждого сна кошка теряет 100 едениц еды (каллорий) Моё решение
let cat = {
sleep: true,
eating: 0,
sleeping: function() {
if(this.eating>0){
this.sleep=true;
alert('Кошка спит');
this.eating=this.eating-100;
} else {
alert('Кошке нужно покушать');
}
}
}
sleeping(300);
Ответы (1 шт):
Автор решения: Anton Shchyrov
→ Ссылка
У вас кошка никогда не просыпается. и метода кушать я не вижу.
Что это такое
sleeping(300);
Я не понял. Если это попытка вызвать метод cat.sleeping(), так нужно указывать имя объекта. Да и сам метод у вас не принимает никаких параметров
Я бы делал так
let cat = {
energy: 0,
eat: function(energy) {
this.energy += energy - 0;
},
sleep: function() {
if (this.energy >= 100) {
this.energy -= 100;
return true;
} else
return false;
}
};
document.getElementById('eat').addEventListener('click', function() {
cat.eat(document.getElementById('energy').value);
console.log(cat.energy);
});
document.getElementById('sleep').addEventListener('click', function() {
if (cat.sleep())
console.log('Кошка спит');
else
console.log('Кошке нужно покушать');
});
<input id="energy" type="number" value="100"/><input type="button" id="eat" value="Кормить"/><br/>
<input type="button" id="sleep" value="Спать"/><br/>