javascript - JS识别var是String

标签 javascript

我认为 JS 认为 var num 是一个字符串,但我想要 var num 作为一个数字!问题是'num'未定义

var num = document.getElementById('number').value;
var i = Math.floor(Math.random(0,num));
var c = document.getElementById('chance').value;
    function clicked(){
         var j = document.getElementById('game').value;
         if (i > j){
             document.getElementById('demo').innerHTML = "Bigger!";
             c -= 1;
             document.getElementById('re').innerHTML = "You have " + c + " more chances!";
         } else if(num < j){
             document.getElementById('demo').innerHTML = "The value is bigger than " + num + "!";
             document.getElementById('re').innerHTML = " "
         } else if (i < j){
             document.getElementById('demo').innerHTML = "Smaller!";
             c -= 1;
             document.getElementById('re').innerHTML = "You have " + c + " more chances";
         } else if (i == j){
             document.getElementById('demo').innerHTML = "Correct!";
             c = 14;
             document.getElementById('re').innerHTML = " ";
             i = Math.floor(Math.random()*num);
         }
         if (c == 0){
             document.getElementById('demo').innerHTML = "Try again! The secret number was " + num;
             c = 14;
             document.getElementById('re').innerHTML = " ";
             i = Math.floor(Math.random()*101);
             }
     }
<p>
   You should guess a number between 0 ~ <input type="number" id="number"> under this text. You have total <input type="number" id="chance"> chances. Good luck!<br><br>
   <input type="number" id="game">   <input type="submit" onclick="clicked()" value="GUESSED">
   <p id="demo"></p>
   <p id="re"></p>
</p>

我想要一个 ID“编号”为 var num,即 0 到 num 之间的随机数: 这将是 var I,ID“机会”是 var c,机会的数量是 c。我希望你明白我的意思,因为我已经尽可能准确地描述了。顺便说一句,我正在编写一个猜数字游戏 HTML,而且我是一个编码新手。如果你好心的话,请帮帮我。谢谢。

最佳答案

参见文档:https://gomakethings.com/converting-strings-to-numbers-with-vanilla-javascript/

    var num1 = parseInt(num, 10);

parseInt() 方法将字符串转换为整数(整数)。

它接受两个参数。第一个参数是要转换的字符串。第二个参数称为基数。这是数学系统中使用的基数。对于我们的使用来说,它应该始终是 10。

Number() 方法将字符串转换为数字。

有时它是一个整数。其他时候它是一个点数。如果您传入一个包含随机文本的字符串,您将得到 NaN,“Not a Number”的缩写。

由于这种不一致,它是一个比 parseInt() 和 parseFloat() 更不安全的选择。如果您知道所需号码的格式,请使用这些格式。如果您希望字符串中包含其他字符且返回 NaN,则 Number() 实际上可能是更好的选择。

关于javascript - JS识别var是String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55884570/

相关文章:

javascript - 添加我的 AngularJS 模块时,menuToggle 不适用于移动设备,但适用于桌面

javascript - jQuery 的工具提示问题

javascript - 单击按钮后更新数据库(这可能看起来很简单,但它不起作用,请继续阅读)

javascript - 使用 Angular 集 id 访问元素

javascript - require.js 没有加载任何模块

javascript - 如何访问使用 get 方法发送的参数?

javascript - 在angularjs中如何访问触发事件的元素?

javascript - 在 Backbone View 中填充选择列表数据的常见模式?

javascript - 为什么 ObservableArray 对象的访问在子 foreach 中不起作用?

php - HTML 旁边隐藏了我的 js 导航栏