js实现加法
使用 + 运算符实现加法
在 JavaScript 中,最基本的加法操作可以通过 + 运算符完成。
let a = 5;
let b = 3;
let sum = a + b;
console.log(sum); // 输出: 8
处理字符串数字的加法
如果输入是字符串类型,+ 运算符会默认拼接字符串。需要先转换为数字类型:
let num1 = "10";
let num2 = "20";
let sum = Number(num1) + Number(num2);
console.log(sum); // 输出: 30
使用 parseInt 或 parseFloat 转换
对于包含非数字字符的字符串,可以使用 parseInt(整数)或 parseFloat(浮点数):
let strNum1 = "12px";
let strNum2 = "3.5em";
let sum = parseInt(strNum1) + parseFloat(strNum2);
console.log(sum); // 输出: 15.5
使用箭头函数封装加法逻辑
将加法逻辑封装为可复用的函数:
const add = (x, y) => x + y;
console.log(add(7, 8)); // 输出: 15
处理浮点数精度问题
JavaScript 的浮点数运算可能存在精度问题,可通过 toFixed 或乘以倍数后取整解决:
let result = 0.1 + 0.2;
console.log(result.toFixed(2)); // 输出: "0.30"
// 高精度方法
const preciseAdd = (a, b) => (a * 10 + b * 10) / 10;
console.log(preciseAdd(0.1, 0.2)); // 输出: 0.3
使用 reduce 实现多数字求和
对数组中的多个数字求和时,可用 reduce 方法:
let numbers = [1, 2, 3, 4];
let total = numbers.reduce((acc, curr) => acc + curr, 0);
console.log(total); // 输出: 10
动态参数求和(ES6 Rest参数)
通过 Rest 参数接收任意数量的参数并求和:
function dynamicSum(...args) {
return args.reduce((a, b) => a + b, 0);
}
console.log(dynamicSum(1, 2, 3)); // 输出: 6
注意事项
- 非数字类型(如
null、undefined)参与加法时会被隐式转换(null转为0,undefined转为NaN)。 - 大整数建议使用
BigInt类型避免溢出:let bigSum = BigInt(9007199254740991) + BigInt(1); console.log(bigSum.toString()); // 输出: "9007199254740992"







