My Little World

js 的~~

~~ 符号是一种类型转换符号,将参数转换成数据类型
~~true == 1
~~false == 0
~~”” == 0
~~[] == 0
~~undefined ==0
~~!undefined == 1
~~null == 0
~~!null == 1

应用:计算大数相加
function add(a,b) {
// 实现该函数
var res=’’, c=0;
a = a.split(‘’);
b = b.split(‘’);
while (a.length || b.length || c){
c += ~~a.pop() + ~~b.pop();//对应位相加,加上前一位进位
res = c % 10 + res;//去掉进位,累积拼接取对应位相加后的结果,
c = c>9;//本轮相加,有进位,c是1,没进位c是0
}
return res.replace(/^0+/,’’);//把开头0去掉
}