gpt4 book ai didi

Javascript 全局变量不递增

转载 作者:行者123 更新时间:2023-11-28 15:39:30 24 4
gpt4 key购买 nike

每次单击“提交”按钮时,我希望“经验”增加 1。我已将“经验”声明为全局变量,但“经验”不会超过 2。

<html>
<head>
<script>
var Experience = 1;
function scenario1()
{ window.Experience = window.Experience + 1 ;
alert(window.Experience);

}
</script>
</head>
<body>
<form>
<input type="submit" onclick="scenario1()">
</form>
</body>
</html>

最佳答案

打开您的开发人员工具并查看网络选项卡。

当您点击提交按钮时,它将:

  • 运行您的函数。
  • 重新加载页面
    • 重置变量。

您需要阻止页面提交。

有两种方法。

方法一:阻止提交

<html>
<head>
<script>
var Experience = 1;
function scenario1() {
// Shorthand way to write it
window.Experience++;
alert(window.Experience);
}
</script>
</head>
<body>
<form>
<input type="submit" onclick="scenario1(); return false">
</form>
</body>
</html>

方法 2:使用不提交的按钮

<html>
<head>
<script>
var Experience = 1;
function scenario1() {
// Shorthand way to write it
window.Experience++;
alert(window.Experience);
}
</script>
</head>
<body>
<form>
<button type="button" onclick="scenario1()">Do it</button>
</form>
</body>
</html>

额外说明

大量的全局变量通常是一个非常糟糕的主意。如果这是某种游戏,您最好将所有内容放入 player 对象中。

var player = {
experience: 0,
name: "Just some guy"
};

// Grant experience
player.experience += 10;

关于Javascript 全局变量不递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24338001/

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