JavaScript - 计算按钮被按下的次数(函数)

JavaScript - Count how many time a button is pressed(function)

我正在尝试计算一个按钮被按下的次数,但我认为这是不对的,因为即使 'Saying Hello' 按钮未被点击,计数按钮也会不断递增

有什么想法吗?

<!DOCTYPE html>

<html>
    <head>
        <title>JSExample</title>
    </head>

    <body>

        <script type="text/javascript">
            function hello() {
               alert("Hello there!");
            }

            var countClicks = 0;

            function upCount() { 

                if(document.getElementById('hello').onclick = "hello()") {
                    countClicks++;
                    alert(countClicks);
                    return true;
                } else {
                    return false;
                }

            }

        </script>

        <p><input type="button" name="button" value="Saying Hello" id="hello" onclick="hello();"/></p>

        <p><input type="button" name="click" value="Counting" id="click" onclick="upCount();"/></p>

    </body>

</html>
if(document.getElementById('hello').onclick == "hello()")

你错过了一个 =

是的,我不太明白你的问题。现在单击 'Saying hello',您将调用一个函数 'hello()',它只会弹出带有 'Hello there' 的警报。单击 'Counting' 按钮时,您正在检查一个我不完全理解的非常奇怪的条件,然后增加该值。因此,如果您想计算 'say hello' 被点击了多少次,然后用 'Counting' 按钮显示它,请使用此代码。

<!DOCTYPE html>

 <html>
        <head>
            <title>JSExample</title>
        </head>
    
        <body>
    
            <script type="text/javascript">
                function hello() {
                   alert("Hello there!");
          countClicks++;
                }
    
                var countClicks = 0;
    
                function upCount() { 
        alert(countClicks);
                }
    
            </script>
    
            <p><input type="button" name="button" value="Saying Hello" id="hello" onclick="hello();"/></p>
    
            <p><input type="button" name="click" value="Counting" id="click" onclick="upCount();"/></p>
    
        </body>
    
    </html>

如果这不是你的意思,请告诉我:)

条件if(document.getElementById('hello').onclick = "hello()") {不正确。我不确定它应该做什么,但知道它做了什么:它将字符串 hello() 分配给 hello 元素的 .onclick 回调。由于 String 无法执行(与 Function 相反),它有效地删除了回调。你可能想要这样的东西

var countClicks = 0;

function hello() {
   alert("Hello there!");
   countClicks++;
}

function upCount() { 
    alert(countClicks);
}
<p><input type="button" name="button" value="Saying Hello" id="hello" onclick="hello();"/></p>
<p><input type="button" name="click" value="Counting" id="click" onclick="upCount();"/></p>