Javascript 函数返回语句的代码解释
我正在学习javascript。。。有一个特别的挑战,我不明白为什么输出是这样的。。下面是代码:Javascript 函数返回语句的代码解释,javascript,Javascript,我正在学习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)); /
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=sum%2+res中的+res
代码>表达式
如有任何解释,将不胜感激 它从余数运算符和以前收集的值中获取0
或1
,并将其分配给res
1 10 -> 110
res = sum % 2 + res;
但是我没有得到的是res=sum%2+res中的+res;表情
好的,在第一次迭代之后,第一个1存储在res
:
res = 1 + "" /*res*/
由于res
以前是一个空字符串,+
将这两个字符串连接为字符串,因此res
现在包含“1”
。现在循环继续进行,因为仍然需要1,因此在下一次迭代中,sum%2
再次是1
,行是:
res = 1 + "1" /*res*/
因此,我们最终得到了结果“11”
,感谢您的解释,现在它更有意义了!!我不知道的是这个表达式“sum%2+res;”的语法但现在我完全明白了。。当然,当你连接字符串和num它的字符串。。再次感谢乔纳斯;)