「已注销」 2022-10-15 00:05 采纳率: 50%
浏览 26
已结题

在js中用户输入的值和直接赋值有什么不同嘛

在js中用户输入的值和直接赋值有什么不同嘛
function getMax(num1,num2,num3){
  if(num1>num2 && num1>num3){
    return num1;
  }else if(num2>num3 && num2>num1){
    return num2;
  }else{
    return num3;
  }
}
console.log(getMax(prompt('请输入第一个数'), prompt('请输入第二个数'), prompt('请输入第三个数')));

img


输入数字

img


img


img


返回结果为7

img


但是我把他改成用var给值他返回的结果又是11了

img


img


不能明白这是什么问题,还是说只是我打错了,有知道的嘛><

  • 写回答

3条回答 默认 最新

  • 心寒丶 优质创作者: 编程框架技术领域 2022-10-15 01:34
    关注

    因为prompt接收之后返回值是字符类型,字符类型比较 7>4>11,要转成数字类型再比较

    function getMax(num1,num2,num3){
      if(num1>num2 && num1>num3){
        return num1;
      }else if(num2>num3 && num2>num1){
        return num2;
      }else{
        return num3;
      }
    }
    console.log(getMax(Number(prompt('请输入第一个数')), Number(prompt('请输入第二个数')), Number(prompt('请输入第三个数'))));
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月14日
  • 已采纳回答 11月6日
  • 创建了问题 10月15日