js实现相加
JavaScript 实现数字相加
在 JavaScript 中实现数字相加可以通过多种方式完成,具体取决于需求场景。以下是几种常见的实现方法:
基础数字相加
直接使用加法运算符 + 对数字进行相加:

let num1 = 5;
let num2 = 10;
let sum = num1 + num2;
console.log(sum); // 输出 15
字符串数字转换为数字后相加
如果数字以字符串形式存在,需要先转换为数字类型再相加:
let strNum1 = "5";
let strNum2 = "10";
let sum = Number(strNum1) + Number(strNum2);
console.log(sum); // 输出 15
使用 parseInt 或 parseFloat
对于包含非数字字符的字符串,可以使用 parseInt 或 parseFloat:

let strNum1 = "5px";
let strNum2 = "10.5em";
let sum = parseInt(strNum1) + parseFloat(strNum2);
console.log(sum); // 输出 15.5
多个数字相加
使用 reduce 方法对数组中的数字求和:
let numbers = [1, 2, 3, 4, 5];
let sum = numbers.reduce((acc, curr) => acc + curr, 0);
console.log(sum); // 输出 15
处理大数相加
对于超出 JavaScript 安全整数范围的数字(大于 Number.MAX_SAFE_INTEGER),可以使用字符串模拟加法:
function addBigNumbers(a, b) {
let carry = 0;
let result = [];
a = a.toString().split('').reverse();
b = b.toString().split('').reverse();
let maxLength = Math.max(a.length, b.length);
for (let i = 0; i < maxLength; i++) {
let digitA = parseInt(a[i] || 0);
let digitB = parseInt(b[i] || 0);
let sum = digitA + digitB + carry;
carry = Math.floor(sum / 10);
result.push(sum % 10);
}
if (carry) result.push(carry);
return result.reverse().join('');
}
console.log(addBigNumbers('9007199254740991', '1')); // 输出 "9007199254740992"
注意事项
- JavaScript 的加法运算符
+也可用于字符串拼接,需确保操作数为数字类型。 - 浮点数相加可能存在精度问题,建议使用
toFixed或第三方库(如decimal.js)处理。






