js中为什么用加号却没有相加而是连接在一起?

js中为什么用加号却没有相加而是连接在一起?比如num.innerHTML=count+num.innerHTML;count是1num.innerHTML是2应该是3可... js中为什么用加号却没有相加而是连接在一起?
比如
num.innerHTML=count+num.innerHTML;
count是1 num.innerHTML是2 应该是3 可是却是12
请问为什么?谢谢!!!
我试过 可是现在却是21了!
展开
 我来答
lyz810
推荐于2016-08-07 · 知道合伙人互联网行家
lyz810
知道合伙人互联网行家
采纳数:7531 获赞数:31779
前端开发工程师

向TA提问 私信TA
展开全部

在JavaScript中,加号不仅表示相加还表示字符串连接

当加号两边存在字符串时,加号代表连接,实际上是将两侧都转为了字符串,如

"1" + 1 = "11"

而当加号两侧都是数字的时候,则表示两个数相加,如

1 + 1 = 2

这是JavaScript中的隐式类型转换

百度网友5fc8254
推荐于2017-11-23 · 超过21用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:0
展开全部
js中+号的作用是,如果是两个字符串的话就就相当于连接符,如果是int类型的话就相当于加,你需要把+前后都变成int类型,并保证他们都是!如有问题可以留言
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fee9de0ac
2010-08-11 · 超过15用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:25.4万
展开全部
innerHTML是num控件的属性,本身是string类型, 计算count+num.innerHTML值时,会以string类型优先, 即将count先转成string类型, 再执行count+num.innerHTML操作, 两个string相加,会转而调用成string.append操作。最终成为12.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
闪闪红红星
2010-08-11 · TA获得超过924个赞
知道小有建树答主
回答量:613
采纳率:0%
帮助的人:381万
展开全部
num.innerHTML是字符串,不是数字,默认就连接了。
你要这么写:

num.innerHTML = count + parseInt(num.innerHTML);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式