关于实现“用prompt输入两个数字,输出两个数字中的最大值”编码有感

在我目前阶段,从字面理解这个题目然后进行编程不是很难,可以做如下实现:

1.  let num2 = +prompt('请输入第二个数字')
1.  let res = num1 > num2 ? num1 : num2
1.  console.log(res)

但是细想一下,要是有人输入了非数值咋办? 所以新的需求来了:要对用户输入的值做判断。怎么解决?isNaN即可!想想还是很开心哦。于是

    let num = +prompt('请输入第一个数字!')
    if(!isNaN(num)){
        return num
        break
    }else{
        alert('地球人,请输入正确数字,谢谢~')
    }
}

于是数字的判断实现了,但是目前有2个,以后可能还有多个,咋搞?封装为函数:

    while(true) {
      let val = +prompt(txt)
      if(!isNaN(val) && val !== 0){  
        return val
        break;
      }else{
        alert('请输入数字!')
      }
    }
}
 
 //输入第一个数字
let res1 = inputNum('num1', '请输入第一个数')
 
//输入第二个数字
let res2 = inputNum('num1', '请输入第二个数')
 
console.log(`最大数字为:${res1 > res2 ? res1 : res2}`)

这里我强调下关于字符串不能为空的判断,我之前使用的办法是val !== ' '。但是没有效果,采用了目前的方案:val !== 0。这样就可以完美的避免用户输入空格啦~

还行吧?要是对大家有帮助,可以给博主点点赞哦~