【问题标题】:How can i add numbers to a variable in JS?如何在 JS 中将数字添加到变量中?
【发布时间】:2014-08-27 22:50:50
【问题描述】:

我一直在尝试做一个简单的游戏,您尝试将正确的数字作为随机数。如果你赢了,你会得到 1 分。但我无法给出这一点。这是我所做的:

<html>
<head>
    <title>Luck Game</title>
    <script>
    function onClick(){
        var number = Math.floor(Math.random()*10);
        var usernumber = document.getElementById("input").value ;
        var points = 0;
        document.getElementById("Answer").innerHTML = number ;
        document.getElementById("points").innerHTML = "Points in your account : " + points;
        if(usernumber == number){
            document.getElementById("WIN?").innerHTML = "You WON !. You got 1 point added to your account !";
points = points + 1;

        }
        else{
            document.getElementById("WIN?").innerHTML = "Ow, no luck, you lost..."
        }

    }
    </script>
</head>
<body>
    <input id="input"></input>
    <p id="Answer"></p>
    <button onClick="onClick()"></button>
    <p id="WIN?"></p>
    <p id="points"></p>
</body>

但是“点数 = 点数 + 1”不起作用! 怎么了 ?请帮帮我。

【问题讨论】:

  • 您必须确保 point 被视为数字,points = parseInt(points )+ 1;
  • 那个,不要在每次点击时重置点值。

标签: javascript html int add var


【解决方案1】:

你应该声明你的var points 外部点击函数。例如:

<script>
var points = 0;
    function onClick(){
        var number = Math.floor(Math.random()*10);
        var usernumber = document.getElementById("input").value ;

        document.getElementById("Answer").innerHTML = number ;
        document.getElementById("points").innerHTML = "Points in your account : " + points;
        if(usernumber == number){
            document.getElementById("WIN?").innerHTML = "You WON !. You got 1 point added to your account !";
points = points + 1;

        }
        else{
            document.getElementById("WIN?").innerHTML = "Ow, no luck, you lost..."
        }

    }
    </script>

因此计数器将保存在其他地方,而不会在每次函数 procs 时都被重置。

【讨论】:

    【解决方案2】:

    按照您编写的方式,pointsonClick() 函数的局部变量,因此每次调用该函数时它都会重置为零。如果您将points 的初始化从onClick() 中提取出来,那么您将能够安全地增加其值:

    <script>
        var points = 0;
        function onClick(){
            var number = Math.floor(Math.random()*10);
            var usernumber = document.getElementById("input").value ;
    
            document.getElementById("Answer").innerHTML = number ;
            document.getElementById("points").innerHTML = "Points in your account : " + points;
            if(usernumber == number){
                document.getElementById("WIN?").innerHTML = "You WON !. You got 1 point added to your account !";
                points++;
            } else {
                document.getElementById("WIN?").innerHTML = "Ow, no luck, you lost..."
            }
        }
    </script>
    

    【讨论】:

      【解决方案3】:

      声明var指向函数外:

      var points = 0;
      
      function onClick(){
          ...
      }
      

      【讨论】:

        猜你喜欢
        • 2022-11-23
        • 1970-01-01
        • 2017-01-28
        • 2023-03-12
        • 2015-11-14
        • 1970-01-01
        • 1970-01-01
        • 2020-12-10
        • 1970-01-01
        相关资源
        最近更新 更多