javascript - 为什么输出是 01122?
问题描述
如果我们在 Javascript 中连接字符串和整数,则输出必须是字符串部分,然后其他数字也将打印为字符串,但在此它打印零,然后将数字计为整数而不是字符串并得出总和。
这里发生了什么?
var x = document.getElementById("1");
x.innerHTML += 1111 + 11;
<p id="1">0</p>
我希望的输出01122
是0111111
或1122
解决方案
您将 1111 和 11 (=1122) 的总和连接到一个字符串。
Javascript 将首先计算总和,然后将其转换为字符串以进行连接,因为您要求将其添加到字符串 ( +=
) 的末尾。
如果你想得到0111111
:
x.innerHTML += '' + 1111 + 11;
如果你想得到1122
:
x.innerHTML = +x.innerHTML + 1111 + 11;
推荐阅读
- python - 有没有办法从网站预览图像而不将其保存在磁盘上?
- c++ - 如何在 Windows 上使用 C++ 监听终端外的击键
- primeng - 行中的反应形式日期管道展开
- javafx - 无法访问类 com.sun.javafx.print.Units
- matlab - Matlab傅里叶反卷积
- image - 如何使用 Julia 将数组保存到 RAM 中的 PNG 图像?
- c# - 当由于未经授权(JWT)而发生 401 错误时如何发送 json 作为响应
- mysql - 即使以 LongText 数据类型存储在数据库中时,数据也会被截断
- optimization - 在线性规划中证明无界性的问题
- python - python 不支持的浮点和整数操作数数据类型