SOURCE

// 超大数加法运算,返回字符串
function add(a, b) {
    // 获取位数较大的数,做循环操作
    let len = Math.max(a.length, b.length);
    // 默认先将两个数位数补齐一致
    a = a.padStart(len, 0);
    b = b.padStart(len, 0);

    // 将两个数转成数组并reverse
    let a1 = String(a).split('').reverse();
    let b1 = String(b).split('').reverse();

    // 结果数组
    let sum = [];
    // 用于缓存进位
    let next = 0;
    
    // 从个位数开始循环,依次操作两个数相同位相加,使用i--
    for(let i=len-1; i>=0; i--) {
        let temp = Number(a1[i]) + Number(b1[i]) + next;
        // 两位数进位操作,个位数保存至sum[i],十位数缓存到next
        if(temp > 9) {
            sum[i] = temp - 10;
            next = 1;
        }else{
           sum[i] = temp; 
           next = 0;
        }
    }
    return sum.reverse().join('');
}
console 命令行工具 X clear

                    
>
console