910JQK. 2022-03-24 10:22 采纳率: 85.7%
浏览 62
已结题

isNaN("123")输出为false为什么用if判断就显示true

问题遇到的现象和发生背景

当给prompt输入"123"显示为不是一个数字

问题相关代码,请勿粘贴截图
var b =prompt("判断是不是一个数字");
            if(isNaN(b)){
                alert(b +"不是一个数字");
            }else{
                alert(b + "是一个数字");
            }
            console.log(isNaN("123"));//"false"

运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果

为什么结果不一致

  • 写回答

3条回答 默认 最新

  • 你好!机器人 2022-03-24 10:41
    关注

    prompt输出的本身就是个字符串,你加了双引号,是当做字符输出的,所以走true

    img

    img

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月1日
  • 已采纳回答 3月24日
  • 创建了问题 3月24日

悬赏问题

  • ¥20 关于变压器的具体案例分析
  • ¥15 生成的QRCode圖片加上下載按鈕
  • ¥15 板材切割优化算法,数学建模,python,lingo
  • ¥15 科来模拟ARP欺骗困惑求解
  • ¥100 iOS开发关于快捷指令截屏后如何将截屏(或从截屏中提取出的文本)回传给本应用并打开指定页面
  • ¥15 unity连接Sqlserver
  • ¥15 图中这种约束条件lingo该怎么表示出来
  • ¥15 VSCode里的Prettier如何实现等式赋值后的对齐效果?
  • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式
  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题