Задать вопрос
xoma2
@xoma2
Программист

Почему не работает массив в конструкторе?

function Hamster() {
    this.food = []
}
Hamster.prototype = {
    found: function(something) {
        this.food.push(something)
    }
}

speedy = new Hamster()
lazy = new Hamster()

speedy.found("apple")
speedy.found("orange")

console.log(speedy.food.length) // 2
console.log(lazy.food.length) // 0 (!??)


Читаю javascript.ru там вот этот пример. Мол у каждого хомяка должно быть по 1 в массиве. Но при вызове мы получаем что у одного в массиве 0 а у другого 2. Объясните, как это работает?
  • Вопрос задан
  • 2374 просмотра
Подписаться 2 Оценить 1 комментарий
Решения вопроса 2
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Так вы кладёте 2 фрукта хомяку speedy, а хомяку lazy — ничего. Lazy нервничает...
И почему не используете var?
Ответ написан
@Testtest132
Ибо создано два разных экземпляра класса, соответственно, у каждого свой length у food
speedy.found("apple")
lazy.found("orange")
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 11:03
5000 руб./за проект
18 дек. 2024, в 10:44
130000 руб./за проект
18 дек. 2024, в 10:02
7000 руб./за проект