You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何JavaScript中+运算符无法实现加法?输入5和5得到55需求和

解决JavaScript中输入数值拼接而非相加的问题

嘿,我完全懂你刚学JS时踩这个坑的困惑!咱们一步步拆解问题:

为什么输入5和5会输出55?

这是因为你获取到的输入值默认是字符串类型,而JavaScript里的+运算符有两种功能:

  • 当两边都是数字时,执行加法运算;
  • 只要有一边是字符串,就会触发字符串拼接,把另一边也自动转成字符串再合并。

所以你实际执行的是 "5" + "5",结果自然是 "55" 啦。

其实+运算符是可以实现加法的!

你觉得不能用+做加法,只是因为没把输入的字符串转成数字类型。这里给你几种常用的转换方法:

  • 使用Number()函数,把字符串转为数字:
    const input1 = "5";
    const input2 = "5";
    const sum = Number(input1) + Number(input2);
    console.log(sum); // 输出10
    
  • 用parseInt()(适合整数场景):
    const sum = parseInt(input1) + parseInt(input2);
    console.log(sum); // 输出10
    
  • 简洁写法:在变量前加+号快速转数字:
    const sum = +input1 + +input2;
    console.log(sum); // 输出10
    

小提示

JavaScript是弱类型语言,自动类型转换虽然灵活,但也容易出这种“意料之外”的结果。处理用户输入时,一定要先确认并转换数据类型,就能避免这类问题啦~

内容的提问来源于stack exchange,提问作者Pushpraj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:48:54