伙计们,我正在做一个学校项目(使用javascript),并且正在建造一个地牢。很有可能不是您见过的最好的代码,但是,我正在为此学习。
我从错误中获取:
function damageFormula()
{
var damage = myDamage(myWeapon); // I get the error on this function
var doDamage = Math.floor(0.085 * damage * myAttackLvl + (myLevelLvl/5) - (1+15*Math.random()));
return doDamage;
};
myDamage函数:
function myDamage(myWeapon)
{
switch(myWeapon)
{
case "Spike Sword":
myDamage += 10;
break;
case "Magic Long Sword":
myDamage += 20;
break;
default:
myDamage += 3;
break;
}
return myDamage;
};
武器变量为:
var myWeapon = "Spike Sword";
myDamage变量是:
var myDamage = 10;
有谁知道我为什么收到此错误和/或如何解决它?
如果您需要更多信息,请询问我,我将尽力回答。
因为myWeapon
是Spike Sword
,您正在执行以下操作:
case "Spike Sword":
myDamage += 10;
break;
但是,它myDamage()
是一个函数,而不是数字,因此这对JavaScript控制台没有意义!相反,它变成myDamage
一个字符串,然后放在字符串"10"
的末尾。
现在,myDamage
是一个字符串。但是,在中damageFormula()
,您需要将其myDamage
作为函数进行调用。因此,TypeError
可能会抛出一个a ,尽管对我来说,
我建议做var damage = 0;
,做damage += 10;
,damage += 20;
等。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句