这可以通过一个简单的按钮调用 addDamage 函数来实现:
var damage=0;
function addDamage()
{
damage+=10;
document.getElementById("p1s").innerHTML=damage;
}
这不会:
var damage=0;
function addDamage(who)
{
who+=10;
document.getElementById("p1s").innerHTML=who;
}
使用此按钮:
<button type="button" onclick="addDamage(damage)">Add</button>
这可能是显而易见的。我真的是新人。谢谢!
最佳答案
您要在函数中向 who
添加 10。通过调用时传递的参数,who
获取 damage
的值,这是一个全局变量。
该函数使用 who
的更新值来设置元素的innerHTML。所有这些都有效。然后函数退出。 who
超出范围。 who
的更新值现已被遗忘。
当您再次单击该按钮时,它会使用 damage
的值,该值仍然是其原始值 0(零)。 who
再次获取该值,然后获取 10+,即 10,依此类推。
要更新全局变量,请从函数返回它,并将其设置在处理程序中。
var damage=0;
function addDamage(d)
{
d+=10;
document.getElementById("p1s").innerHTML=d;
return d;
}
和
<button type="button" onclick="damage=addDamage(damage);">Add</button>
关于javascript - 简单的Javascript函数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5999235/