Javascript 我似乎不能从一个变量中减去另一个变量
我正在做一个简单的游戏,我已经把它编码好了,当你点击一个攻击按钮时,它会根据基础和力量生成一个随机数,然后从敌人的生命值中减去,但减去的部分似乎不起作用。它总是输出NaNJavascript 我似乎不能从一个变量中减去另一个变量,javascript,subtraction,Javascript,Subtraction,我正在做一个简单的游戏,我已经把它编码好了,当你点击一个攻击按钮时,它会根据基础和力量生成一个随机数,然后从敌人的生命值中减去,但减去的部分似乎不起作用。它总是输出NaN 这可能与没有明确确定它们是整数有关,但我不确定如何做到这一点 这是最紧迫的问题。您需要从HITDEQUE内的enemyHealth标记中删除var。这将创建一个名为enemyHealth intsead的新变量,用于修改第一个变量 enemyHealth = enemyHealth - parseFloat(attack);
这可能与没有明确确定它们是整数有关,但我不确定如何做到这一点 这是最紧迫的问题。您需要从HITDEQUE内的enemyHealth标记中删除var。这将创建一个名为enemyHealth intsead的新变量,用于修改第一个变量
enemyHealth = enemyHealth - parseFloat(attack);
此外,你应该在每次呼叫结束时呼叫begin以更新分数。下面是代码的工作版本
这是最紧迫的问题。您需要从HITDEQUE内的enemyHealth标记中删除var。这将创建一个名为enemyHealth intsead的新变量,用于修改第一个变量
enemyHealth = enemyHealth - parseFloat(attack);
此外,你应该在每次呼叫结束时呼叫begin以更新分数。下面是代码的工作版本
因为您在函数中重新定义了enemyHealth变量。删除var以修复它
function hitEnemy(){
var attack=Math.floor(Math.random()*20 + strength);
enemyHealth = enemyHealth - attack;
document.getElementById('damage').innerHTML = attack;
document.getElementById('enemyhealth').innerHTML = enemyHealth;
}
因为您在函数中重新定义了enemyHealth变量。删除var以修复它
function hitEnemy(){
var attack=Math.floor(Math.random()*20 + strength);
enemyHealth = enemyHealth - attack;
document.getElementById('damage').innerHTML = attack;
document.getElementById('enemyhealth').innerHTML = enemyHealth;
}
为了补充Jared的回答
var enemyHealth = enemyHealth - attack;
是…的缩写
var enemyHealth;
enemyHealth = enemyHealth - attack;
首先,enemyHealth定义为HITDEY范围内的未定义*。现在,存在两个名为enemyHealth的变量,但内部变量会遮挡外部变量,因此无法引用外部变量。所以,攻击从未定义中减去,生成NaN
*这听起来很荒谬,我知道贾里德的回答中还有一点
var enemyHealth = enemyHealth - attack;
是…的缩写
var enemyHealth;
enemyHealth = enemyHealth - attack;
首先,enemyHealth定义为HITDEY范围内的未定义*。现在,存在两个名为enemyHealth的变量,但内部变量会遮挡外部变量,因此无法引用外部变量。所以,攻击从未定义中减去,生成NaN
*听起来很荒谬,我知道@user1026779-确保你接受JaredPar的回答:谢谢@用户1026779-确保您接受JaredPar的回答:谢谢