gpt4 book ai didi

javascript - 函数返回语句的代码解释

转载 作者:行者123 更新时间:2023-11-30 06:21:42 25 4
gpt4 key购买 nike

我目前正在学习 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 = sum % 2 + res; 表达式中的 + res

任何解释将不胜感激。

最佳答案

but what I dont get is the + res in the res = sum % 2 + res; expression.

好的,所以在第一次迭代之后,第一个 1 被存储在 res 中:

 res = 1 + "" /*res*/

由于 res 之前是一个空字符串,+ 将两者连接成字符串,所以 res 包含 "1"现在。现在循环继续进行,因为仍然需要一个 1,所以在下一次迭代中,sum % 2 再次是 1 并且该行是:

 res = 1 + "1" /*res*/

所以我们最终得到结果 "11"

关于javascript - 函数返回语句的代码解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52728916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com