如何在 JavaScript 中按下按钮前输出 0 次点击? (点击计数器)

How to output 0 clicks before pressing button in JavaScript? (click counter)

我在 JavaScript 中做了一个点击计数器,现在,我想解决这个问题:

当我打开我的点击计数器时,没有任何输出。但是按下“点击”按钮后,输出是1。我想在打开点击计数器后将输出更改为 0。但这是另一个问题。这样做之后,输出将 0 总是在重新加载页面后。

这是我的点击计数器的代码:

document.title = 'Click Counter';

var clickButton = document.createElement('button');
var resetButton = document.createElement('button');
var output = document.createElement('p');

clickButton.innerHTML = 'Click';
resetButton.innerHTML = 'Reset';

clickButton.onclick = clickCounter;
resetButton.onclick = resetClicks;

document.body.appendChild(clickButton);
document.body.appendChild(resetButton);
document.body.appendChild(output);

function clickCounter() {
    if (localStorage.clicks) {
        localStorage.clicks = Number(localStorage.clicks) + 1;
    } else {
        localStorage.clicks = 1;
    }
    output.innerHTML = localStorage.clicks;
}

function resetClicks() {
    localStorage.clear();
    output.innerHTML = 0;
}

如果你的函数没有被调用过一次,这个变量的值必须是null或undefined,你可以用一个“if”来处理这种情况,在输出中加上0,当刷新页面,因为点击后变量将有价值。我说得对吗?

if (!localStorage.clicks){
    localStorage.clicks = 0;
}

另外一个提示,尝试在打开计数器时获取事件并在该事件下设置值。

如果 localStorage.clicks 还未定义,您可以将其初始化为 0。

...
document.body.appendChild(clickButton);
document.body.appendChild(resetButton);
document.body.appendChild(output);

if (!localStorage.clicks){
    localStorage.clicks = 0;
}

function clickCounter() {
    localStorage.clicks++;
    output.innerHTML = localStorage.clicks;
}


function resetClicks() {
...