gpt4 book ai didi

javascript - 更新现有的 javascript 变量

转载 作者:行者123 更新时间:2023-11-29 22:22:38 26 4
gpt4 key购买 nike

这可能是也可能不是一个简单的问题,因为我的 JavaScript 技能非常有限。我想要做的就是修改函数中的变量,然后返回准备好再次在函数中使用的新变量值。

这方面的一个例子是一个简单的按钮,每次点击它都会从变量中减去 10 分。就像每次点击时的逐渐倒计时。问题是每次返回时变量都不会更新。

也许我开始使用 javascript 的方法已经过时了,这就是为什么我似乎无法找到很多关于它的原因。这是代码

<html>
<head>
<script type="text/javascript">

/*starting bank account*/
var bank = "200";
/* i want this function to deduct ten from the starting bank account and update the bank variable */
function Bank(bank) {
var printout = document.getElementById("display_bank_result_here");
bank = bank - 10;
printout.innerHTML = bank;
return bank;
}


</script>
</head>
<body>
<button onclick="Bank(bank)">remove 10 from bank</button>
<p id='display_bank_result_here'></p>
</body>
</html>

先发制人,感谢大家。我希望有一天我能有足够的技能来返回我职位上的其他人。

罗伯特

最佳答案

那是因为你shadowed变量 bank

在函数 Bank 中,bank 变量指的是本地变量,而不是全局变量。这应该不是问题,只要您使用函数的 return 值来更新您的全局变量:

<button onclick="bank = Bank(bank)">remove 10 from bank</button>

当然,你也可以通过避免shadowing来解决,例如:

function Bank () {
var printout=document.getElementById("display_bank_result_here");
bank -= 10;

printout.innerHTML =bank;
}

那么就不需要return了。

此外,您可以完全避免使用全局变量,将起始值放入打印输出:

<button onclick="decreaseBank()">remove 10 from bank</button>
<p id='display_bank_result_here'>200</p>

你的 JS 会是这样的:

function decreaseBank () {
var printout = document.getElementById("display_bank_result_here");

// with subtraction the value of `innerHTML` will be converted in Number
// automatically.
var bank = printout.innerHTML - 10;

printout.innerHTML = bank;
}

希望对您有所帮助。

关于javascript - 更新现有的 javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11494202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com