Чтобы упростить проблему, я собираюсь перейти только к коду проблемы:
var object; // undefined
object.rotation.x += 0.1; //trying to access a key inside an undefined
Объявление object
в глобальной области действия - это хорошо, но вы только объявляете это, а неприсвоил это значение.Это означает, что вы пытаетесь найти ключ внутри переменной, который undefined
.
var object = {};
object.rotation.x += 0.1; // object.rotation is undefined
Все еще недостаточно хорош.Переменная object
не обладает ключом с именем rotation
.Это не определено.Вы будете пытаться ввести ключ, который не существует.Я не уверен в вашем случае использования, но для этого точного сценария назначение object
в качестве объекта со всеми необходимыми вам ключами вручную решит эту проблему undefined
, которая у вас возникла.
var object = {
rotation: {
x: 0
}
};
object.rotation.x += 0.1;