首页 > 解决方案 > 函数返回语句代码说明

问题描述

我目前正在学习 javascript ......有一个特殊的挑战,我无法弄清楚为什么输出是原样......所以这里是代码:

function addBinary(a,b) {

    var sum = a + b;
    var res= "";
    while(sum > 0) {
        res = sum % 2 + res;
        sum = Math.floor(sum/2);
    }
    return res;

}
alert(addBinary(1,2));

//输出为11

我在这个 addBinary 函数中不明白的是为什么res = sum % 2 + res;第一次迭代后的空字符串 === 1。

我了解模运算符和 3%2 = 1; 背后的逻辑。

但我没有得到的是+ res表达式中的res = sum % 2 + res;

任何解释将不胜感激。

标签: javascript

解决方案


它从余数运算符和先前收集的值中获取一个01一个,并将其分配给res.

       1       10  -> 110
res = sum % 2 + res;

推荐阅读