Не удается прочитать свойство 'update' из неопределенного [решено]

Сравнение равенств:

Оператор ==

Возвращает true, когда оба операнда равны.

>>> 1 == 1
true
>>> 1 == 2
false
>>> 1 == '1'
true

Сравнение параметров и эквивалентов:

g7] Возвращает true, если оба операнда равны и одного типа. Как правило, лучше и безопаснее сравнивать этот путь, потому что нет конверсий типа «за кадром».

>>> 1 === '1'
false
>>> 1 === 1
true
0
задан alditis 26 March 2019 в 20:18
поделиться

2 ответа

Попробуйте изменить

this.Chests.push(Chest(random(25,375), random(25,375), random(20,25), random(15,20), random(0,5)));

на

// note the "new" keyword!
this.Chests.push(new Chest(random(25,375), random(25,375), random(20,25), random(15,20), random(0,5)));

Ключевое слово new важно для правильного построения объекта с правильным контекстом. Он также правильно возвращает объект Chest, который будет помещен в ваш массив.

Вы можете найти больше информации с этим ответом Stackoverflow: https://stackoverflow.com/a/30478240/11240618 , а также здесь: https://developer.mozilla.org / EN-US / Docs / Web / JavaScript / Справочник / Операторы / новый

0
ответ дан miyu 26 March 2019 в 20:18
поделиться

Когда вы создаете новый объект Chest, вы должны использовать оператор new. Итак, в этом коде:

// Create 4 chests on Startup
for (var i = 0; i < 4; i++)
{
      this.Chests.push(Chest(random(25,375), random(25,375), random(20,25), random(15,20), random(0,5)));
}

... Вы должны изменить

this.Chests.push(Chest(random(25,375), random(25,375), random(20,25), random(15,20), random(0,5)));

... На это:

this.Chests.push(new Chest(random(25,375), random(25,375), random(20,25), random(15,20), random(0,5)));
0
ответ дан jknotek 26 March 2019 в 20:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: