Javascript 警报不处理用户输入
我正在用js编写条件语句。但此脚本遇到了两个问题。Javascript 警报不处理用户输入,javascript,alert,Javascript,Alert,我正在用js编写条件语句。但此脚本遇到了两个问题。 1) 不管用户输入什么,脚本都不会处理else子句。 2) 我的alert方法首先打印if alert(),然后打印未定义的alert()。Idk为什么会这样 <script> function temperature (temp) { var message=""; var temp = 70; if(temp <= 69) { alert(message = "Turn on the heat."); } els
1) 不管用户输入什么,脚本都不会处理else子句。 2) 我的alert方法首先打印if alert(),然后打印未定义的alert()。Idk为什么会这样
<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>
功能温度(temp)
{
var message=“”;
var-temp=70;
如果(temp您正在使用两个警报:一个在另一个内..并且还重置您的温度值
使用以下命令:
function temperature (temp)
{
if(temp <= 69) {
return "Turn on the heat.";
} else {
return "It is hot enough.";
}
}
功能温度(温度)
{
如果(温度有两件事:
1) 您正在将变量temp
设置为70,因此它会覆盖您的输入
2) prompt()
函数返回一个字符串,然后将其传递到温度函数中,尝试将其与整数进行比较。请使用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(message=“打开加热。”)
我不确定您在这里想做什么。variable=value在技术上是未定义的,这就是为什么您会得到未定义的警报()。只需返回“打开加热”和警报(温度(myTemp))
应该显示您的消息。或者,按照@rac的建议执行。因为您是在函数var temp=70中执行此操作;
您正在覆盖温度()中传递的温度函数,您只需要为消息
分配适当的值,然后返回消息
,所以,从逻辑上讲,我不需要初始化将由用户输入的变量,对吗?是的,您不需要。尽管验证用户输入是一种很好的做法。因为您不能总是期望良好的输入。但随着时间的推移,您会学到这一点。就目前而言,该走了
<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)));
...