用于在屏幕上增加数字的按钮

问题描述 投票:-6回答:2

我希望,每按一次按钮,增加变量hey。 但是,它没有增加。

出了什么问题?

var hey = 0

function hi() {
  hey = ++hey
}

document.write(window.hey)
<button onclick="hi()">HI</button>
javascript html
2个回答
0
投票

您有正确的想法,但您的代码存在一些问题。

旁注:在编程中,将变量/函数命名为有意义且具有描述性的几乎总是一个好主意。

在下面的代码示例中,我将函数hey的名称更改为increment,因为该函数的目的是递增变量的值(我也将其重命名为i)。

我还用document.write()替换了你的console.log()

//create a global variable called i
var i = 0

//increment i each time the function is called
function increment() {
  i = ++i;
  console.log(i);
}
<!DOCTYPE html>
<html>

<body>
  <button onclick="increment()">Increment</button>
  <script>
  </script>
</body>

</html>

1
投票

目前,您只在加载时输出一次值。 每次单击按钮时,您都需要在功能中更新显示。

我建议不要使用document.write,而是更新特定的DOM元素。

我还建议绑定一个事件监听器,而不是使用内联处理程序; 虽然either method will work

var hey = 0;
var trigger = document.getElementById('trigger');
var display = document.getElementById('display');

function increment() {
  display.innerText = ++hey;
}

trigger.addEventListener('click',increment);
<button type="button" id="trigger">INCREMENT</button>
<span id="display">0</span>
© www.soinside.com 2019 - 2024. All rights reserved.