//我也试了一下大数相加
function add(a,b){
if(typeof a !== 'string'||typeof b !== 'string'){
console.error('require two strings')
return
}
if(isNaN(+a)||isNaN(+b)){
console.error('require to be normal number string')
return
}
var min = a.length>b.length?b:a
var max = a.length<b.length?b:a
var len = min.length
var lenmax = max.length
var upgrade = 0
if(a.length===b.length){
min = a;
max = b;
}
var res = []
while(len--){
var sum = parseInt(min[len])+parseInt(max[--lenmax])
if(upgrade){
sum += upgrade
upgrade = 0
}
if(sum>=10){
sum -= 10
upgrade = 1
}
res.unshift(sum)
}
res = res.join("")
if(upgrade){
if(lenmax-len-1>0){
var mid = +max.slice(lenmax-len-2,lenmax-len-1)+1
res = max.slice(0,lenmax-len-2)+mid+res
}else if(lenmax-len===1){
res = 1+parseInt(max.slice(0,1))+res
}
}else if(a.length!==b.length){
res = max.slice(0,lenmax-len-1) + res
}
return res
}