Javascript模板文字不适用于随机数生成器
我试图生成一个随机数,如果用户输入相同的数值,他可以继续前进,否则它将生成另一个随机数。但是用于生成随机数(a)的模板文本不起作用Javascript模板文字不适用于随机数生成器,javascript,Javascript,我试图生成一个随机数,如果用户输入相同的数值,他可以继续前进,否则它将生成另一个随机数。但是用于生成随机数(a)的模板文本不起作用 var a = Math.floor(Math.random()*10); // Random num generator var userInput = alert('Enter the numbers: ${a}'); // User input while ( userInput !== a){ // Loop ale
var a = Math.floor(Math.random()*10); // Random num generator
var userInput = alert('Enter the numbers: ${a}'); // User input
while ( userInput !== a){ // Loop
alert("Try Again!");
userInput = alert('Enter the numbers: ${a}');
};
代码中有一些地方可以改进
- 将数字变量命名为
而不是a
容易混淆n
在您的情况下(并非每种情况下)可以短接到Math.floor
~
- 您从
获取用户输入,而不是仅显示消息的提示符
警报
- 您正在使用严格的等式
运算符将您的随机数与用户的输入进行比较,用户的输入将始终是==
形式的数字。因此,即使他们输入了正确的数字,也会被解释为不正确,因为字符串
严格来说并不等于'3'
。你必须使用3
=代码>取而代之
- 不需要
变量,因为您只需要用它做一件事。只需在userInput
循环的条件内内联while
提示符
- 由于
从不更改,请使用n
声明它,这样,如果您以后不小心尝试更改它,您将收到一个错误,从而引起您的注意const
- 正如有人在评论中指出的,字符串文字使用的是
,而不是`
'
const n=~~(Math.random()*10);
while(提示(`Enter the number:${n}`)!=n){
警报('重试!');
};代码>您的代码中有一些地方可以改进
- 将数字变量命名为
a
而不是n
容易混淆
Math.floor
在您的情况下(并非每种情况下)可以短接到~
- 您从
提示符
获取用户输入,而不是仅显示消息的警报
- 您正在使用严格的等式
==
运算符将您的随机数与用户的输入进行比较,用户的输入将始终是字符串
形式的数字。因此,即使他们输入了正确的数字,也会被解释为不正确,因为'3'
严格来说并不等于3
。你必须使用=代码>取而代之
- 不需要
userInput
变量,因为您只需要用它做一件事。只需在while
循环的条件内内联提示符
- 由于
n
从不更改,请使用const
声明它,这样,如果您以后不小心尝试更改它,您将收到一个错误,从而引起您的注意
- 正如有人在评论中指出的,字符串文字使用的是
`
,而不是'
const n=~~(Math.random()*10);
while(提示(`Enter the number:${n}`)!=n){
警报('重试!');
};
Literals使用勾号“`”字符alert()
函数始终返回undefined
。因此,无论该数字是什么,它都不会等于一个数字。文字与勾号“`”字符一起工作alert()
函数始终返回undefined
。所以它永远不会等于一个数字,不管这个数字是什么。