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));
//输出为11
我在这个 addBinary 函数中不明白的是为什么res = sum % 2 + res;
第一次迭代后的空字符串 === 1。
我了解模运算符和 3%2 = 1; 背后的逻辑。
但我没有得到的是+ res
表达式中的res = sum % 2 + res;
。
任何解释将不胜感激。
解决方案
它从余数运算符和先前收集的值中获取一个0
或1
一个,并将其分配给res
.
1 10 -> 110
res = sum % 2 + res;
推荐阅读
- r - R根据条件行制作条件列
- modal-dialog - 在 oracle apex 20.1 中打开另一个模式页面内的模式页面而不关闭父模式页面
- go - bufio.Reader 在 bufio.Writer 写入后什么也不从文件中读取
- android - Google Play 开发者控制台:如何获取通知电子邮件(应用访问受限)?
- python - 通过 HTTPS 服务 Flask 服务器
- ios - SwiftUI 中 MVVM 模式中多个切换的绑定变量数组
- c# - 为什么存在 aspNetCore web.config 部分时,launchSettings.json 配置文件中的 environmentVariables 不加载?
- php - 如何修复 num 验证和 0 值错误代码以正常工作以及连接多个错误以一次显示
- javascript - FlatList 项目的展开/折叠逻辑 - React Native
- ruby-on-rails - 将默认生成的 bitbucket 管道图像共享到并行步骤