什么是执行此代码的更好方法?
在游戏开始时,我为所有新游戏信息声明了一个变量。
var newGameInfo = {
players: [],
playersList: [],
enemies: [],
enemiesList: [],
drops: [],
dropsList: [],
attacks: [],
attacksList: [],
LVL: null
}
稍后,我通过此代码对所有变量清空此变量。
if(newGameInfo.players.length > 0) newGameInfo.players.splice(0, newGameInfo.players.length);
if(newGameInfo.playersList.length > 0) newGameInfo.playersList.splice(0, newGameInfo.playersList.length);
if(newGameInfo.enemies.length > 0) newGameInfo.enemies.splice(0, newGameInfo.enemies.length);
if(newGameInfo.enemiesList.length > 0) newGameInfo.enemiesList.splice(0, newGameInfo.enemiesList.length);
if(newGameInfo.drops.length > 0) newGameInfo.drops.splice(0, newGameInfo.drops.length);
if(newGameInfo.dropsList.length > 0) newGameInfo.dropsList.splice(0, newGameInfo.dropsList.length);
if(newGameInfo.attacks.length > 0) newGameInfo.attacks.splice(0, newGameInfo.attacks.length);
if(newGameInfo.attacksList.length > 0) newGameInfo.attacksList.splice(0, newGameInfo.attacksList.length);
if(newGameInfo.LVL !== null) newGameInfo.LVL = null;
任何建议将不胜感激! :)这段代码占用了很多空间,可以完成如此简单的任务。
最佳答案
把它放在一个函数中
如果您覆盖,谁在乎状态是什么—摆脱if
如果要覆盖,为什么要拼接?只是覆盖。
码
var initGameInfo = function () {
return {
players: [],
playersList: [],
enemies: [],
enemiesList: [],
drops: [],
dropsList: [],
attacks: [],
attacksList: [],
LVL: null
}
},
newGameInfo = initGameInfo();
// game code
//reset it
newGameInfo = initGameInfo();