Порядок декларирования нескольких файлов - PullRequest
0 голосов
/ 06 мая 2018

Я создаю игру в javascript, и у меня есть несколько файлов. Основной файл game.js содержит var Game = {}; в начале, и, например, upgradedes.js содержит Game.Upgrades = {}; в начале. Теперь я использовал let item = Game.Upgrades; в начале каждой функции, поэтому вместо выполнения Game.Upgrades.upgradeName.cost каждый раз в этой функции, например, я бы делал item.upgradeName.cost или даже let item = Game.Upgrades[key];, если я зациклен через все обновления или если параметр functions передает ключ (function buyUpgrade(key) where key = upgradeName), так что теперь я могу просто позвонить item.cost; и сэкономить немного ввода.

Теперь я подумал, зачем объявлять let item = Game.Upgrades; в каждой функции, когда я мог просто объявить это один раз, сразу после Game.Upgrades = {};, поэтому я добавил const UPG = Game.Upgrades; сразу после того, как объявил объект Upgrades. Так что теперь я могу просто использовать UPG.upgradeName.cost; каждый раз в своем коде без необходимости делать let item = Game.Upgrades; в каждой функции. Это было бы лучшим решением, верно? Так как каждое объявление использует немного памяти, верно?

Странно, если я объявлю const UPG = Game.Upgrades; ниже var Game = {}; в основном файле, это не сработает ... Но, когда объявлено ниже Game.Upgrades = {};, это сработает, что меня смущает, как Game.Upgrades = {}; в основном просто Game = { Upgrades: {} };

Кроме того, если я объявлю const в файле upgradedes.js, поскольку он загружается после файла game.js, смогу ли я использовать этот const в файле game.js? Пока все работает хорошо, но разве это хорошая практика? Я знаю, что не могу сделать это с помощью let.

Должен ли я просто сложить все в своем главном файле game.js и начать все оттуда?

Все эти вещи с var, let и const серьезно меня запутывают. Я знаю, что должен избегать использования var, поэтому я использую его только для объявления своего объекта Game. Я использую функции let inside, но, поскольку все мои let -с в основном являются вычислениями newCost или newDps, я решил изменить их все на const.

Есть идеи? Я использовал JSlint на днях со своим кодом, и это только дало мне больше головной боли.

Спасибо!

...