警报不处理用户输入
alert does not process user input
我正在研究 js 中的条件语句。但是 运行 这个脚本有 2 个问题。
1) 无论用户输入如何,脚本都不会处理 else 子句。
2) 我的警报方法首先打印 if alert(),然后打印未定义的 alert()。不知道这是为什么。
<script>
function temperature (temp)
{
var message="";
var temp = 70;
if(temp <= 69) {
alert(message = "Turn on the heat.");
} else {
alert(message = "It is hot enough.");
}
}
</script>
那么我的正文是:
<script>
var myTemp=prompt("Please enter your current temperature."); //prompt is ok
//alert fails to process else clause and then prints an undefined alert()
alert(temperature(myTemp));
</script>
我已经尝试从函数本身删除警报。但是,那会扼杀我的提示。
PS 我用 Sublime 3 和 jshint 但是这个问题不在 jshint 的管辖范围内,obv.
请大家多多指教,谢谢
您正在使用 2 个警报:一个在另一个警报中..并且还重置了您的温度值。
使用这个:
function temperature (temp)
{
if(temp <= 69) {
return "Turn on the heat.";
} else {
return "It is hot enough.";
}
}
几件事:
1) 您正在将变量 temp
设置为 70,因此它会覆盖您的输入。
2) prompt()
函数 returns 一个字符串,然后将其传递给温度函数,并在其中尝试将其与整数进行比较。使用 parseInt()
.
3) 您也在嵌套警报,因为您将 temperature()
放入警报中并且您的 temperature()
函数本身也会创建警报。二选一。
这就是我要改变的方式。
<script>
function temperature (temp){
var message="";
var temp = temp || 70;
if(temp <= 69) {
message = "Turn on the heat.");
} else {
message = "It is hot enough.");
}
return message;
}
</script>
然后:
...
alert(temperature(parseInt(myTemp)));
...
我正在研究 js 中的条件语句。但是 运行 这个脚本有 2 个问题。
1) 无论用户输入如何,脚本都不会处理 else 子句。
2) 我的警报方法首先打印 if alert(),然后打印未定义的 alert()。不知道这是为什么。
<script>
function temperature (temp)
{
var message="";
var temp = 70;
if(temp <= 69) {
alert(message = "Turn on the heat.");
} else {
alert(message = "It is hot enough.");
}
}
</script>
那么我的正文是:
<script>
var myTemp=prompt("Please enter your current temperature."); //prompt is ok
//alert fails to process else clause and then prints an undefined alert()
alert(temperature(myTemp));
</script>
我已经尝试从函数本身删除警报。但是,那会扼杀我的提示。
PS 我用 Sublime 3 和 jshint 但是这个问题不在 jshint 的管辖范围内,obv.
请大家多多指教,谢谢
您正在使用 2 个警报:一个在另一个警报中..并且还重置了您的温度值。
使用这个:
function temperature (temp)
{
if(temp <= 69) {
return "Turn on the heat.";
} else {
return "It is hot enough.";
}
}
几件事:
1) 您正在将变量 temp
设置为 70,因此它会覆盖您的输入。
2) prompt()
函数 returns 一个字符串,然后将其传递给温度函数,并在其中尝试将其与整数进行比较。使用 parseInt()
.
3) 您也在嵌套警报,因为您将 temperature()
放入警报中并且您的 temperature()
函数本身也会创建警报。二选一。
这就是我要改变的方式。
<script>
function temperature (temp){
var message="";
var temp = temp || 70;
if(temp <= 69) {
message = "Turn on the heat.");
} else {
message = "It is hot enough.");
}
return message;
}
</script>
然后:
...
alert(temperature(parseInt(myTemp)));
...