多个文件声明顺序

时间:2018-05-06 10:26:56

标签: javascript declaration multiple-files

我在javascript中构建游戏,我有多个文件。主文件game.js在开头包含var Game = {};,例如,upgrades.js在开头包含Game.Upgrades = {};。现在,我曾经在每个函数的开头执行let item = Game.Upgrades;,所以不是每次都在Game.Upgrades.upgradeName.cost执行该函数,例如,我做item.upgradeName.cost,甚至let item = Game.Upgrades[key];如果我循环浏览所有升级,或者函数参数正在传递密钥(function buyUpgrade(key) where key = upgradeName),那么现在我可以调用item.cost;并为自己保存一些输入。

现在我在思考,为什么在每个函数中声明let item = Game.Upgrades;,当我可以在Game.Upgrades = {};之后立即声明它,所以我在声明之后立即添加const UPG = Game.Upgrades;升级对象。所以现在我只能在代码中使用UPG.upgradeName.cost;,而不必在每个函数中都使用let item = Game.Upgrades;。这会是一个更好的解决方案吗?由于每个声明都使用一点内存,对吧?

奇怪的是,如果我在主文件中的const UPG = Game.Upgrades;下面声明var Game = {};,它就不起作用......但是,当它在Game.Upgrades = {};下方声明时它会这使我感到困惑,因为Game.Upgrades = {};基本上只是Game = { Upgrades: {} };

另外,如果我在upgrades.js文件中声明const,因为它在game.js文件之后加载,我能在game.js文件中使用该const吗?现在它工作正常,但这是一个好习惯吗?我知道我不能这样做。

我应该在我的主game.js文件中堆积所有内容并从那里开始所有内容吗?

所有这些与var,let和const的东西都让我如此困惑。我知道我应该避免使用var,因此我只使用它来声明我的Game对象。我使用let inside函数,但由于我的所有let - s基本上都是newCost或newDps计算,因此我还要将它们全部更改为const。

有什么见解?前几天我用我的代码使用了JSlint,这只让我更头疼。

谢谢!

0 个答案:

没有答案
相关问题