首页  >  问答  >  正文

未捕获的引用错误:cnt 未定义

我想单击按钮并计算数量,但它不起作用。 和错误消息:Uncaught ReferenceError:cnt 未定义 这是我的代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Make777</title>
  <link rel="stylesheet" href="./style.css">
</head>
<body>
  <button type="button" class="btn-click" onclick="dongjak_button();">CLICK</button>
  <span>You Clicked This Button <span id="number"></span>Times!!!!!!</span>

  <script src="./script.js"></script>
</body>
</html>
"use strict";

function dongjak_button(){
    cnt = 0;
    cnt++;
    document.getElementById("number").value = cnt;
}

帮助。我希望 cnt 变量有效。并显示在html上

P粉696891871P粉696891871258 天前313

全部回复(2)我来回复

  • P粉587780103

    P粉5877801032024-02-04 15:12:30

    您必须使用 varlet 来声明 JavaScript 变量。

    在此处了解更多信息:https://www.w3schools.com/js/js_variables.asp

    "use strict";
    
    function dongjak_button(){
        let cnt = 0;
        cnt++;
        document.getElementById("number").textContent = cnt;
    }
    

    代码仍然无法工作,因为您需要首先从 #number 获取计数。

    "use strict";
    
    function dongjak_button(){
        const number = document.getElementById("number");
        const value = number.textContent;
        
        let cnt = value ? Number(value) : 0;
        cnt++;
        number.textContent = cnt;
    }
    

    回复
    0
  • P粉635509719

    P粉6355097192024-02-04 11:33:27

    您处于严格模式,并且没有声明 cnt 变量。请参阅 MDN 文档

    您也无法更改 span 上的 value — 您需要 textContent。而且,您的 cnt 每次都会重置,因此您需要将变量存储在函数之外。总而言之:

    // stored outside the function so it increments rather than resets
    let cnt = 0;
    function dongjak_button(){
        cnt++;
        // use textContent, not value; also add a space
        document.getElementById("number").textContent = cnt + ' ';
    }
    
    
    You Clicked This Button Times!!!!!!
    

    回复
    0
  • 取消回复