因此,出于理智的目的,我试图使我的代码更加模块化(并且因为它似乎比编写相同的代码五种以上不同的方式更有效)。
但是,由于我的 JavaScript 知识显然缺乏,我在这方面遇到了困难。我有一个购买各种单位类型的方法调用。我想检查玩家是否有足够的特定类型的单位 citizens
,或者soldiers
在训练更高级的类型citizen.workers
或soldier.specific
. 增加更高级的类型并不是我要解决的问题。我只是想确定基本单元是否以最小数量存在。
我目前使用的不起作用。当我希望它默认为“公民”时,类型变量没有评估,而是作为“类型”进行。我在 2 个地方使用该变量,用于评估目的的 if 语句和在数据库更新中以减少该特定字段的数量。
当前代码:
'buy': function(cost, number, type) {
type = type || "citizens";
var currentUser = Meteor.user();
var player = Players.findOne({createdBy: currentUser._id});
if(player.credits >= cost && cost > 0 && player.type >= number && number > 0) {
Players.update({createdBy: currentUser._id}, {$inc: {'credits': (0-cost), type: (0-number)}});
return true;
}
return false;
},
到处搜索,但没有找到我正在寻找的东西,甚至没有找到我可以开始并开始将其应用于我需要的东西。任何帮助都会很棒。
编辑:是的,我意识到我错误地为 javascript 使用了默认值。我已经在我的代码中修改了它。大卫韦尔登回答的计算值是我更具体地追求的。