javascript - JS 识别 var 是 String
问题描述
我认为 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,我是一个编码 nooooob。如果你很好,请帮助我。谢谢你。
解决方案
请参阅文档:https ://gomakethings.com/converting-strings-to-numbers-with-vanilla-javascript/
var num1 = parseInt(num, 10);
parseInt() 方法将字符串转换为整数(整数)。
它接受两个参数。第一个参数是要转换的字符串。第二个参数称为基数。这是数学系统中使用的基数。对于我们的使用,它应该始终为 10。
Number() 方法将字符串转换为数字。
有时它是一个整数。其他时候它是一个点数。如果你传入一个包含随机文本的字符串,你会得到 NaN,它是“Not a Number”的首字母缩写。</p>
由于这种不一致,它是一个不如 parseInt() 和 parseFloat() 安全的选择。如果您知道所需数字的格式,请改用这些格式。如果您希望字符串在其中包含其他字符的情况下以 NaN 失败,那么 Number() 实际上可能是一个更好的选择。
推荐阅读
- mysql - 按差异过滤的绩效分组
- excel - 在数据透视表中选择最后 3 个值(周)但没有使用 VBA 的“空白”
- enums - 如何使用 Dart/Flutter 管理对枚举属性的序列化/反序列化到 Firestore?
- vba - 使用 FolderItemVerbs 并调用或 DoIt 从 VBA 执行 windows shell 中的子菜单项
- angular - Angular 4 缓存
- java - 如何获取 GraphicsDevice 的名称
- r - 如何计算预训练词嵌入的相似度
- r - 使用 str_replace_all 替换数字之前的所有内容
- wordpress - 通过插件覆盖 wordpress 主题页面
- php - 即使文件夹存在,file_put_contents 也无法打开流