我希望,每按一次按钮,增加变量hey
。
但是,它没有增加。
出了什么问题?
var hey = 0
function hi() {
hey = ++hey
}
document.write(window.hey)
<button onclick="hi()">HI</button>
您有正确的想法,但您的代码存在一些问题。
旁注:在编程中,将变量/函数命名为有意义且具有描述性的几乎总是一个好主意。
在下面的代码示例中,我将函数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>
目前,您只在加载时输出一次值。 每次单击按钮时,您都需要在功能中更新显示。
我建议不要使用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>