【发布时间】:2017-11-08 16:30:06
【问题描述】:
为什么+运算符在添加时会认为数字是字符串
例如:
'3' + 4 + 5; // "345"
3 + 4 + '5'; // "75"
【问题讨论】:
-
String + 任何总是产生字符串的东西。
标签: javascript operators
为什么+运算符在添加时会认为数字是字符串
例如:
'3' + 4 + 5; // "345"
3 + 4 + '5'; // "75"
【问题讨论】:
标签: javascript operators
将+ 与两个数字一起使用时:数学。
将+ 与字符串一起使用时:连接。
3 + 4 = 7
7 + '5' = '75'
【讨论】:
+ 只会在左侧有一个数字并且在右侧有一个数字时添加两个数字。
'3' + 4 + 5;
第一个'3' + 4 在左侧有一个字符串。因此它将右侧转换为字符串并将它们连接起来。
第二个'34' + 5 在左侧有一个字符串。因此它将右侧转换为字符串并将它们连接起来。
3 + 4 + '5';
首先3 + 4 两边都有一个数字,所以它添加了它们。第二个7 + '5' 在右侧有一个字符串,因此它将左侧转换为字符串并将它们连接起来。
【讨论】:
这是 javascript 中的简单规则:
string + number = string (operation work as a string)
'3' + 4 + 5; = 345
7 + '5' = 75
number + number = number (operation work as a number)
3 + 4 = 7
【讨论】:
关于“为什么”,你已经得到了答案,解决它的方法,以防你不知道或者它是否可以帮助其他人:
var x = parseInt('3') + 4 + 5;
【讨论】: