通过参数更新数字变量的函数无法正确更新数字变量
Function updating a number var through a parameter doesn't correctly update number var
所以我有一段这样的代码
var number = 0;
function addnumber(numbertype){
numbertype = numbertype +50;
}
function numberupdate() {
document.getElementById('adiv').innerHTML = number;
}
在某个地方,我打电话
onClick="addnumber(number);"
现在,如果我通过警报检查数字的值,它会正确显示。但是这个数字只达到 50 一次,而且我点击的次数越多也不会爬升,即使在 addnumber() 函数中调用的警报会正确计算数字,但在该函数之外检查时它不会更新数字的值。
我确定我错过了一些简单的东西。
在你的addnumber函数中,你传入的变量增加了50,而不是(我假设)数字。
您可以将其更改为:
function addnumber(){
number += 50;
}
您对数字和数字类型变量感到困惑。
var number = 0;
function addnumber(numbertype){
number = number + numbertype +50;
}
function numberupdate() {
document.getElementById('adiv').innerHTML = number;
}
javascript 函数的参数要么在原语的情况下按值传递,要么在对象的情况下"按引用"传递。您的变量"数字"是一个基元。在这种情况下,由基元值创建副本,并作为参数传递。因此,Addnumber 将 50 添加到数字的副本中,而不是添加到数字本身。当您想以这种方式更改变量的值时,请使用一个对象,然后它将按您最初预期的方式工作:
var number={value:0};
function addnumber(numbertype){
numbertype.value = numbertype.value +50;
}
相关文章:
- HTML 5视频播放器用给定的数字更新currentTime
- 使用 javascript 在网页上的同一位置更新数字
- 如何基于表单字段类型自动更新价格=“;数字”;
- 从表单、计算和使用 javascript 更新 html 内容中获取数字值
- JavaScript:数字计数器实时更新
- 如何将加号和减号附加到数字输入和更新值
- 通过参数更新数字变量的函数无法正确更新数字变量
- 两个链接的自动更新(根据另一个中的输入)数字输入字段与JavaScript
- 有没有办法在不使用循环的情况下更新多个文档以将特定数字添加到一列
- 更新 jQuery UI 工具提示上的数字
- 根据数字排序顺序更新自动重新排列HTML列表
- 需要使用jquery更新基于数字输入的表单输入
- 在$index达到某个数字后更新a范围值
- jQuery:数字未更新,更改为0
- 数字计数器不更新HTML上的键码按
- 获取活动幻灯片并更新每张新幻灯片上的数字
- 更新循环,使13是num1和num2之间的数字
- 更新大量的数字
- 更新输入数字变量onclick
- 用两位数字更新输入(type="Number")