首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript +运算符与-运算符

Javascript +运算符与-运算符
EN

Stack Overflow用户
提问于 2012-09-29 15:05:24
回答 6查看 129关注 0票数 1

我被这个snippet弄糊涂了

代码语言:javascript
复制
var n1 = 5-"4";
var n2 = 5+"4";

alert(n1);
alert(n2);

我知道n1是1。这是因为​运算符将字符串"4“转换为数字,然后从5中减去它。但是为什么+运算符得到54?

有人能给我解释一下+和=运算符之间的区别吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-09-29 15:08:25

通过类型转换,任何包含字符串的+表达式都将生成字符串。因此,在执行连接之前,所有操作数(在本例中为5)都将被转换为字符串。

另一方面,-只是一个算术操作数,因此"4"被转换为整数,并且计算如您所期望的那样执行。

票数 3
EN

Stack Overflow用户

发布于 2012-09-29 15:07:45

这是因为在n2中,+被视为连接,而不是加法。因此,5被转换为字符串"5",而"4"被连接起来,得到"54“。

票数 2
EN

Stack Overflow用户

发布于 2012-09-29 15:09:08

+的任一侧有字符串时,+将被视为字符串连接运算符,另一侧将被转换为字符串,然后进行连接。

要小心像1+2+'3'这样的东西,结果是'33'而不是'123'

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12650700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档