搜尋

首頁  >  問答  >  主體

未捕獲的引用錯誤: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粉696891871345 天前401

全部回覆(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
  • 取消回覆