为何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
相关产品推荐
相关产品推荐

