所以我有这样的代码就像这样
var number = 0;
function addnumber(numbertype){
numbertype = numbertype +50;
}
function numberupdate() {
document.getElementById('adiv').innerHTML = number;
}
某处,我打电话给
onClick="addnumber(number);"
现在,如果我通过警报检查号码的值,它会正确显示。但是这个数字只有50次,并且在我点击的次数越多越多,并且即使在addnumber()函数中调用的警报将正确地计算数字,当在该函数之外检查时,它也不会更新数字的值。
我确定我错过了一些简单的事情。
答案 0 :(得分:0)
在你的addnumber函数中,你传入的变量增加了50,而不是(我假设)数字。
您可以将其更改为:
function addnumber(){
number += 50;
}
答案 1 :(得分:0)
您对数字和数字类型变量感到困惑。
var number = 0;
function addnumber(numbertype){
number = number + numbertype +50;
}
function numberupdate() {
document.getElementById('adiv').innerHTML = number;
}
答案 2 :(得分:0)
javascript函数的参数要么通过值'传递。如果是原始的,或者通过参考'如果是对象。您的var'编号'是一个原始的。在这种情况下,副本由原始值组成,并作为参数传递。因此,Addnumber会将数字副本添加50,而不是数字本身。 如果要以这种方式更改变量的值,请使用对象,然后它将按照您最初的预期工作:
var number={value:0};
function addnumber(numbertype){
numbertype.value = numbertype.value +50;
}