Javascript 警报不处理用户输入

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

我正在用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.");
} 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)));
...